diff --git a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java index 4d54065d0e..cc026ba69a 100644 --- a/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java +++ b/libraries/cast/src/main/java/androidx/media3/cast/CastPlayer.java @@ -150,7 +150,7 @@ public final class CastPlayer extends BasePlayer { private TrackSelectionArray currentTrackSelection; private TracksInfo currentTracksInfo; private Commands availableCommands; - @Player.State private int playbackState; + private @Player.State int playbackState; private int currentWindowIndex; private long lastReportedPositionMs; private int pendingSeekCount; @@ -387,14 +387,12 @@ public final class CastPlayer extends BasePlayer { } @Override - @Player.State - public int getPlaybackState() { + public @Player.State int getPlaybackState() { return playbackState; } @Override - @PlaybackSuppressionReason - public int getPlaybackSuppressionReason() { + public @PlaybackSuppressionReason int getPlaybackSuppressionReason() { return Player.PLAYBACK_SUPPRESSION_REASON_NONE; } @@ -574,8 +572,7 @@ public final class CastPlayer extends BasePlayer { } @Override - @RepeatMode - public int getRepeatMode() { + public @RepeatMode int getRepeatMode() { return repeatMode.value; } @@ -1292,8 +1289,7 @@ public final class CastPlayer extends BasePlayer { * Retrieves the repeat mode from {@code remoteMediaClient} and maps it into a {@link * Player.RepeatMode}. */ - @RepeatMode - private static int fetchRepeatMode(RemoteMediaClient remoteMediaClient) { + private static @RepeatMode int fetchRepeatMode(RemoteMediaClient remoteMediaClient) { MediaStatus mediaStatus = remoteMediaClient.getMediaStatus(); if (mediaStatus == null) { // No media session active, yet. diff --git a/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java b/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java index 3b900b60e2..b713f32ef3 100644 --- a/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java +++ b/libraries/common/src/main/java/androidx/media3/common/AdPlaybackState.java @@ -67,7 +67,7 @@ public final class AdPlaybackState implements Bundleable { /** The URI of each ad in the ad group. */ public final @NullableType Uri[] uris; /** The state of each ad in the ad group. */ - @AdState public final int[] states; + public final @AdState int[] states; /** The durations of each ad in the ad group, in microseconds. */ public final long[] durationsUs; /** diff --git a/libraries/common/src/main/java/androidx/media3/common/BasePlayer.java b/libraries/common/src/main/java/androidx/media3/common/BasePlayer.java index f79df0ff90..d782dcb0e6 100644 --- a/libraries/common/src/main/java/androidx/media3/common/BasePlayer.java +++ b/libraries/common/src/main/java/androidx/media3/common/BasePlayer.java @@ -384,8 +384,7 @@ public abstract class BasePlayer implements Player { : timeline.getWindow(getCurrentMediaItemIndex(), window).getDurationMs(); } - @RepeatMode - private int getRepeatModeForNavigation() { + private @RepeatMode int getRepeatModeForNavigation() { @RepeatMode int repeatMode = getRepeatMode(); return repeatMode == REPEAT_MODE_ONE ? REPEAT_MODE_OFF : repeatMode; } diff --git a/libraries/common/src/main/java/androidx/media3/common/C.java b/libraries/common/src/main/java/androidx/media3/common/C.java index a91181c595..ef48f66f6d 100644 --- a/libraries/common/src/main/java/androidx/media3/common/C.java +++ b/libraries/common/src/main/java/androidx/media3/common/C.java @@ -1247,8 +1247,8 @@ public final class C { replacement = "Util.getErrorCodeForMediaDrmErrorCode(mediaDrmErrorCode)", imports = {"androidx.media3.common.util.Util"}) @Deprecated - @PlaybackException.ErrorCode - public static int getErrorCodeForMediaDrmErrorCode(int mediaDrmErrorCode) { + public static @PlaybackException.ErrorCode int getErrorCodeForMediaDrmErrorCode( + int mediaDrmErrorCode) { return Util.getErrorCodeForMediaDrmErrorCode(mediaDrmErrorCode); } } diff --git a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java index fb27d2d18c..829262bb88 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/ColorInfo.java @@ -38,8 +38,7 @@ public final class ColorInfo implements Bundleable { * made. */ @Pure - @C.ColorSpace - public static int isoColorPrimariesToColorSpace(int isoColorPrimaries) { + public static @C.ColorSpace int isoColorPrimariesToColorSpace(int isoColorPrimaries) { switch (isoColorPrimaries) { case 1: return C.COLOR_SPACE_BT709; @@ -61,8 +60,8 @@ public final class ColorInfo implements Bundleable { * mapping can be made. */ @Pure - @C.ColorTransfer - public static int isoTransferCharacteristicsToColorTransfer(int isoTransferCharacteristics) { + public static @C.ColorTransfer int isoTransferCharacteristicsToColorTransfer( + int isoTransferCharacteristics) { switch (isoTransferCharacteristics) { case 1: // BT.709. case 6: // SMPTE 170M. @@ -81,20 +80,20 @@ public final class ColorInfo implements Bundleable { * The color space of the video. Valid values are {@link C#COLOR_SPACE_BT601}, {@link * C#COLOR_SPACE_BT709}, {@link C#COLOR_SPACE_BT2020} or {@link Format#NO_VALUE} if unknown. */ - @C.ColorSpace public final int colorSpace; + public final @C.ColorSpace int colorSpace; /** * The color range of the video. Valid values are {@link C#COLOR_RANGE_LIMITED}, {@link * C#COLOR_RANGE_FULL} or {@link Format#NO_VALUE} if unknown. */ - @C.ColorRange public final int colorRange; + public final @C.ColorRange int colorRange; /** * The color transfer characteristics of the video. Valid values are {@link C#COLOR_TRANSFER_HLG}, * {@link C#COLOR_TRANSFER_ST2084}, {@link C#COLOR_TRANSFER_SDR} or {@link Format#NO_VALUE} if * unknown. */ - @C.ColorTransfer public final int colorTransfer; + public final @C.ColorTransfer int colorTransfer; /** HdrStaticInfo as defined in CTA-861.3, or null if none specified. */ @Nullable public final byte[] hdrStaticInfo; diff --git a/libraries/common/src/main/java/androidx/media3/common/DrmInitData.java b/libraries/common/src/main/java/androidx/media3/common/DrmInitData.java index 639fb7ee91..2d9e19caab 100644 --- a/libraries/common/src/main/java/androidx/media3/common/DrmInitData.java +++ b/libraries/common/src/main/java/androidx/media3/common/DrmInitData.java @@ -52,7 +52,8 @@ public final class DrmInitData implements Comparator, Parcelable { * @param mediaData DRM session acquisition data obtained from the media. * @return A {@link DrmInitData} obtained from merging a media manifest and a media stream. */ - public static @Nullable DrmInitData createSessionCreationData( + @Nullable + public static DrmInitData createSessionCreationData( @Nullable DrmInitData manifestData, @Nullable DrmInitData mediaData) { ArrayList result = new ArrayList<>(); String schemeType = null; diff --git a/libraries/common/src/main/java/androidx/media3/common/FileTypes.java b/libraries/common/src/main/java/androidx/media3/common/FileTypes.java index 50a988f980..cc5fd41dee 100644 --- a/libraries/common/src/main/java/androidx/media3/common/FileTypes.java +++ b/libraries/common/src/main/java/androidx/media3/common/FileTypes.java @@ -114,8 +114,8 @@ public final class FileTypes { private FileTypes() {} /** Returns the {@link Type} corresponding to the response headers provided. */ - @FileTypes.Type - public static int inferFileTypeFromResponseHeaders(Map> responseHeaders) { + public static @FileTypes.Type int inferFileTypeFromResponseHeaders( + Map> responseHeaders) { @Nullable List contentTypes = responseHeaders.get(HEADER_CONTENT_TYPE); @Nullable String mimeType = contentTypes == null || contentTypes.isEmpty() ? null : contentTypes.get(0); @@ -127,8 +127,7 @@ public final class FileTypes { * *

Returns {@link #UNKNOWN} if the mime type is {@code null}. */ - @FileTypes.Type - public static int inferFileTypeFromMimeType(@Nullable String mimeType) { + public static @FileTypes.Type int inferFileTypeFromMimeType(@Nullable String mimeType) { if (mimeType == null) { return FileTypes.UNKNOWN; } @@ -178,8 +177,7 @@ public final class FileTypes { } /** Returns the {@link Type} corresponding to the {@link Uri} provided. */ - @FileTypes.Type - public static int inferFileTypeFromUri(Uri uri) { + public static @FileTypes.Type int inferFileTypeFromUri(Uri uri) { @Nullable String filename = uri.getLastPathSegment(); if (filename == null) { return FileTypes.UNKNOWN; diff --git a/libraries/common/src/main/java/androidx/media3/common/Format.java b/libraries/common/src/main/java/androidx/media3/common/Format.java index dd6460c9cf..773b9fab37 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Format.java +++ b/libraries/common/src/main/java/androidx/media3/common/Format.java @@ -156,14 +156,14 @@ public final class Format implements Bundleable { private int rotationDegrees; private float pixelWidthHeightRatio; @Nullable private byte[] projectionData; - @C.StereoMode private int stereoMode; + private @C.StereoMode int stereoMode; @Nullable private ColorInfo colorInfo; // Audio specific. private int channelCount; private int sampleRate; - @C.PcmEncoding private int pcmEncoding; + private @C.PcmEncoding int pcmEncoding; private int encoderDelay; private int encoderPadding; @@ -173,7 +173,7 @@ public final class Format implements Bundleable { // Provided by the source. - @C.CryptoType private int cryptoType; + private @C.CryptoType int cryptoType; /** Creates a new instance with default values. */ public Builder() { @@ -727,7 +727,7 @@ public final class Format implements Bundleable { * modes are {@link C#STEREO_MODE_MONO}, {@link C#STEREO_MODE_TOP_BOTTOM}, {@link * C#STEREO_MODE_LEFT_RIGHT}, {@link C#STEREO_MODE_STEREO_MESH}. */ - @UnstableApi @C.StereoMode public final int stereoMode; + @UnstableApi public final @C.StereoMode int stereoMode; /** The color metadata associated with the video, or null if not applicable. */ @UnstableApi @Nullable public final ColorInfo colorInfo; @@ -738,7 +738,7 @@ public final class Format implements Bundleable { /** The audio sampling rate in Hz, or {@link #NO_VALUE} if unknown or not applicable. */ public final int sampleRate; /** The {@link C.PcmEncoding} for PCM audio. Set to {@link #NO_VALUE} for other media types. */ - @UnstableApi @C.PcmEncoding public final int pcmEncoding; + @UnstableApi public final @C.PcmEncoding int pcmEncoding; /** * The number of frames to trim from the start of the decoded audio stream, or 0 if not * applicable. @@ -762,7 +762,7 @@ public final class Format implements Bundleable { * {@link #drmInitData} is non-null, but may be {@link C#CRYPTO_TYPE_UNSUPPORTED} to indicate that * the samples are encrypted using an unsupported crypto type. */ - @UnstableApi @C.CryptoType public final int cryptoType; + @UnstableApi public final @C.CryptoType int cryptoType; // Lazily initialized hashcode. private int hashCode; diff --git a/libraries/common/src/main/java/androidx/media3/common/HeartRating.java b/libraries/common/src/main/java/androidx/media3/common/HeartRating.java index 4a7117764c..08a6b405f3 100644 --- a/libraries/common/src/main/java/androidx/media3/common/HeartRating.java +++ b/libraries/common/src/main/java/androidx/media3/common/HeartRating.java @@ -79,7 +79,7 @@ public final class HeartRating extends Rating { // Bundleable implementation. - @RatingType private static final int TYPE = RATING_TYPE_HEART; + private static final @RatingType int TYPE = RATING_TYPE_HEART; @Documented @Retention(RetentionPolicy.SOURCE) diff --git a/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java b/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java index 7a847c24e2..4d257fe7d4 100644 --- a/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java +++ b/libraries/common/src/main/java/androidx/media3/common/MediaMetadata.java @@ -56,11 +56,11 @@ public final class MediaMetadata implements Bundleable { @Nullable private Rating userRating; @Nullable private Rating overallRating; @Nullable private byte[] artworkData; - @Nullable @PictureType private Integer artworkDataType; + @Nullable private @PictureType Integer artworkDataType; @Nullable private Uri artworkUri; @Nullable private Integer trackNumber; @Nullable private Integer totalTrackCount; - @Nullable @FolderType private Integer folderType; + @Nullable private @FolderType Integer folderType; @Nullable private Boolean isPlayable; @Nullable private Integer recordingYear; @Nullable private Integer recordingMonth; diff --git a/libraries/common/src/main/java/androidx/media3/common/MimeTypes.java b/libraries/common/src/main/java/androidx/media3/common/MimeTypes.java index e1958db3e1..2c6973d1e1 100644 --- a/libraries/common/src/main/java/androidx/media3/common/MimeTypes.java +++ b/libraries/common/src/main/java/androidx/media3/common/MimeTypes.java @@ -552,8 +552,7 @@ public final class MimeTypes { * @return The corresponding {@link C.Encoding}, or {@link C#ENCODING_INVALID}. */ @UnstableApi - @C.Encoding - public static int getEncoding(String mimeType, @Nullable String codec) { + public static @C.Encoding int getEncoding(String mimeType, @Nullable String codec) { switch (mimeType) { case MimeTypes.AUDIO_MPEG: return C.ENCODING_MP3; @@ -728,8 +727,7 @@ public final class MimeTypes { } /** Returns the encoding for {@link #audioObjectTypeIndication}. */ - @C.Encoding - public int getEncoding() { + public @C.Encoding int getEncoding() { // See AUDIO_OBJECT_TYPE_AAC_* constants in AacUtil. switch (audioObjectTypeIndication) { case 2: diff --git a/libraries/common/src/main/java/androidx/media3/common/PercentageRating.java b/libraries/common/src/main/java/androidx/media3/common/PercentageRating.java index f110efba16..afc20a1687 100644 --- a/libraries/common/src/main/java/androidx/media3/common/PercentageRating.java +++ b/libraries/common/src/main/java/androidx/media3/common/PercentageRating.java @@ -77,7 +77,7 @@ public final class PercentageRating extends Rating { // Bundleable implementation. - @RatingType private static final int TYPE = RATING_TYPE_PERCENTAGE; + private static final @RatingType int TYPE = RATING_TYPE_PERCENTAGE; @Documented @Retention(RetentionPolicy.SOURCE) diff --git a/libraries/common/src/main/java/androidx/media3/common/Player.java b/libraries/common/src/main/java/androidx/media3/common/Player.java index aed681f729..1e7ed137e3 100644 --- a/libraries/common/src/main/java/androidx/media3/common/Player.java +++ b/libraries/common/src/main/java/androidx/media3/common/Player.java @@ -686,8 +686,7 @@ public interface Player { @UnstableApi public static final class Builder { - @Command - private static final int[] SUPPORTED_COMMANDS = { + private static final @Command int[] SUPPORTED_COMMANDS = { COMMAND_PLAY_PAUSE, COMMAND_PREPARE, COMMAND_STOP, diff --git a/libraries/common/src/main/java/androidx/media3/common/StarRating.java b/libraries/common/src/main/java/androidx/media3/common/StarRating.java index c6547dde33..2c38f7cb75 100644 --- a/libraries/common/src/main/java/androidx/media3/common/StarRating.java +++ b/libraries/common/src/main/java/androidx/media3/common/StarRating.java @@ -103,7 +103,7 @@ public final class StarRating extends Rating { // Bundleable implementation. - @RatingType private static final int TYPE = RATING_TYPE_STAR; + private static final @RatingType int TYPE = RATING_TYPE_STAR; private static final int MAX_STARS_DEFAULT = 5; @Documented diff --git a/libraries/common/src/main/java/androidx/media3/common/ThumbRating.java b/libraries/common/src/main/java/androidx/media3/common/ThumbRating.java index 3c68986b98..cd4ad73473 100644 --- a/libraries/common/src/main/java/androidx/media3/common/ThumbRating.java +++ b/libraries/common/src/main/java/androidx/media3/common/ThumbRating.java @@ -76,7 +76,7 @@ public final class ThumbRating extends Rating { // Bundleable implementation. - @RatingType private static final int TYPE = RATING_TYPE_THUMB; + private static final @RatingType int TYPE = RATING_TYPE_THUMB; @Documented @Retention(RetentionPolicy.SOURCE) diff --git a/libraries/common/src/main/java/androidx/media3/common/TrackGroup.java b/libraries/common/src/main/java/androidx/media3/common/TrackGroup.java index f0c85adfb8..ad0bb81c23 100644 --- a/libraries/common/src/main/java/androidx/media3/common/TrackGroup.java +++ b/libraries/common/src/main/java/androidx/media3/common/TrackGroup.java @@ -207,8 +207,7 @@ public final class TrackGroup implements Bundleable { return language == null || language.equals(C.LANGUAGE_UNDETERMINED) ? "" : language; } - @C.RoleFlags - private static int normalizeRoleFlags(@C.RoleFlags int roleFlags) { + private static @C.RoleFlags int normalizeRoleFlags(@C.RoleFlags int roleFlags) { // Treat trick-play and non-trick-play formats as compatible. return roleFlags | C.ROLE_FLAG_TRICK_PLAY; } diff --git a/libraries/common/src/main/java/androidx/media3/common/TracksInfo.java b/libraries/common/src/main/java/androidx/media3/common/TracksInfo.java index 066a92152e..437f7dda44 100644 --- a/libraries/common/src/main/java/androidx/media3/common/TracksInfo.java +++ b/libraries/common/src/main/java/androidx/media3/common/TracksInfo.java @@ -45,7 +45,7 @@ public final class TracksInfo implements Bundleable { */ public static final class TrackGroupInfo implements Bundleable { private final TrackGroup trackGroup; - @C.FormatSupport private final int[] trackSupport; + private final @C.FormatSupport int[] trackSupport; private final @C.TrackType int trackType; private final boolean[] trackSelected; @@ -83,8 +83,7 @@ public final class TracksInfo implements Bundleable { * @return The {@link C.FormatSupport} of the track. */ @UnstableApi - @C.FormatSupport - public int getTrackSupport(int trackIndex) { + public @C.FormatSupport int getTrackSupport(int trackIndex) { return trackSupport[trackIndex]; } @@ -229,8 +228,7 @@ public final class TracksInfo implements Bundleable { fromNullableBundle( TrackGroup.CREATOR, bundle.getBundle(keyForField(FIELD_TRACK_GROUP))); checkNotNull(trackGroup); // Can't create a trackGroup info without a trackGroup - @C.FormatSupport - final int[] trackSupport = + final @C.FormatSupport int[] trackSupport = MoreObjects.firstNonNull( bundle.getIntArray(keyForField(FIELD_TRACK_SUPPORT)), new int[trackGroup.length]); @C.TrackType diff --git a/libraries/common/src/main/java/androidx/media3/common/text/Cue.java b/libraries/common/src/main/java/androidx/media3/common/text/Cue.java index d5f04a3540..6b9d9ded28 100644 --- a/libraries/common/src/main/java/androidx/media3/common/text/Cue.java +++ b/libraries/common/src/main/java/androidx/media3/common/text/Cue.java @@ -569,7 +569,7 @@ public final class Cue implements Bundleable { @Nullable private Alignment textAlignment; @Nullable private Alignment multiRowAlignment; private float line; - @LineType private int lineType; + private @LineType int lineType; private @AnchorType int lineAnchor; private float position; private @AnchorType int positionAnchor; @@ -730,8 +730,7 @@ public final class Cue implements Bundleable { * @see Cue#lineType */ @Pure - @LineType - public int getLineType() { + public @LineType int getLineType() { return lineType; } @@ -751,8 +750,7 @@ public final class Cue implements Bundleable { * @see Cue#lineAnchor */ @Pure - @AnchorType - public int getLineAnchor() { + public @AnchorType int getLineAnchor() { return lineAnchor; } @@ -794,8 +792,7 @@ public final class Cue implements Bundleable { * @see Cue#positionAnchor */ @Pure - @AnchorType - public int getPositionAnchor() { + public @AnchorType int getPositionAnchor() { return positionAnchor; } @@ -817,8 +814,7 @@ public final class Cue implements Bundleable { * @see Cue#textSizeType */ @Pure - @TextSizeType - public int getTextSizeType() { + public @TextSizeType int getTextSizeType() { return textSizeType; } @@ -936,8 +932,7 @@ public final class Cue implements Bundleable { * @see Cue#verticalType */ @Pure - @VerticalType - public int getVerticalType() { + public @VerticalType int getVerticalType() { return verticalType; } diff --git a/libraries/common/src/main/java/androidx/media3/common/text/RubySpan.java b/libraries/common/src/main/java/androidx/media3/common/text/RubySpan.java index 9c6ba1275e..482cb7a92d 100644 --- a/libraries/common/src/main/java/androidx/media3/common/text/RubySpan.java +++ b/libraries/common/src/main/java/androidx/media3/common/text/RubySpan.java @@ -39,7 +39,7 @@ public final class RubySpan implements LanguageFeatureSpan { public final String rubyText; /** The position of the ruby text relative to the base text. */ - @TextAnnotation.Position public final int position; + public final @TextAnnotation.Position int position; public RubySpan(String rubyText, @TextAnnotation.Position int position) { this.rubyText = rubyText; diff --git a/libraries/common/src/main/java/androidx/media3/common/text/TextEmphasisSpan.java b/libraries/common/src/main/java/androidx/media3/common/text/TextEmphasisSpan.java index 68d6e236e5..11595c4f84 100644 --- a/libraries/common/src/main/java/androidx/media3/common/text/TextEmphasisSpan.java +++ b/libraries/common/src/main/java/androidx/media3/common/text/TextEmphasisSpan.java @@ -83,13 +83,13 @@ public final class TextEmphasisSpan implements LanguageFeatureSpan { public static final int MARK_FILL_OPEN = 2; /** The mark shape used for text emphasis. */ - @MarkShape public int markShape; + public @MarkShape int markShape; /** The mark fill for the text emphasis mark. */ - @MarkShape public int markFill; + public @MarkShape int markFill; /** The position of the text emphasis relative to the base text. */ - @TextAnnotation.Position public final int position; + public final @TextAnnotation.Position int position; public TextEmphasisSpan( @MarkShape int shape, @MarkFill int fill, @TextAnnotation.Position int position) { diff --git a/libraries/common/src/main/java/androidx/media3/common/util/NetworkTypeObserver.java b/libraries/common/src/main/java/androidx/media3/common/util/NetworkTypeObserver.java index ceefb88e0f..9609cff496 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/NetworkTypeObserver.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/NetworkTypeObserver.java @@ -85,8 +85,7 @@ public final class NetworkTypeObserver { private final Object networkTypeLock; @GuardedBy("networkTypeLock") - @C.NetworkType - private int networkType; + private @C.NetworkType int networkType; /** * Returns a network type observer instance. @@ -132,8 +131,7 @@ public final class NetworkTypeObserver { } /** Returns the current network type. */ - @C.NetworkType - public int getNetworkType() { + public @C.NetworkType int getNetworkType() { synchronized (networkTypeLock) { return networkType; } @@ -164,8 +162,7 @@ public final class NetworkTypeObserver { } } - @C.NetworkType - private static int getNetworkTypeFromConnectivityManager(Context context) { + private static @C.NetworkType int getNetworkTypeFromConnectivityManager(Context context) { NetworkInfo networkInfo; @Nullable ConnectivityManager connectivityManager = @@ -198,8 +195,7 @@ public final class NetworkTypeObserver { } } - @C.NetworkType - private static int getMobileNetworkType(NetworkInfo networkInfo) { + private static @C.NetworkType int getMobileNetworkType(NetworkInfo networkInfo) { switch (networkInfo.getSubtype()) { case TelephonyManager.NETWORK_TYPE_EDGE: case TelephonyManager.NETWORK_TYPE_GPRS: diff --git a/libraries/common/src/main/java/androidx/media3/common/util/Util.java b/libraries/common/src/main/java/androidx/media3/common/util/Util.java index 5e1976f65c..d45d1d35dc 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/Util.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/Util.java @@ -1560,8 +1560,7 @@ public final class Util { * C#ENCODING_PCM_16BIT}, {@link C#ENCODING_PCM_24BIT} and {@link C#ENCODING_PCM_32BIT}. If * the bit depth is unsupported then {@link C#ENCODING_INVALID} is returned. */ - @C.PcmEncoding - public static int getPcmEncoding(int bitDepth) { + public static @C.PcmEncoding int getPcmEncoding(int bitDepth) { switch (bitDepth) { case 8: return C.ENCODING_PCM_8BIT; @@ -1671,8 +1670,7 @@ public final class Util { } /** Returns the {@link C.AudioUsage} corresponding to the specified {@link C.StreamType}. */ - @C.AudioUsage - public static int getAudioUsageForStreamType(@C.StreamType int streamType) { + public static @C.AudioUsage int getAudioUsageForStreamType(@C.StreamType int streamType) { switch (streamType) { case C.STREAM_TYPE_ALARM: return C.USAGE_ALARM; @@ -1693,8 +1691,8 @@ public final class Util { } /** Returns the {@link C.AudioContentType} corresponding to the specified {@link C.StreamType}. */ - @C.AudioContentType - public static int getAudioContentTypeForStreamType(@C.StreamType int streamType) { + public static @C.AudioContentType int getAudioContentTypeForStreamType( + @C.StreamType int streamType) { switch (streamType) { case C.STREAM_TYPE_ALARM: case C.STREAM_TYPE_DTMF: @@ -1711,8 +1709,7 @@ public final class Util { } /** Returns the {@link C.StreamType} corresponding to the specified {@link C.AudioUsage}. */ - @C.StreamType - public static int getStreamTypeForAudioUsage(@C.AudioUsage int usage) { + public static @C.StreamType int getStreamTypeForAudioUsage(@C.AudioUsage int usage) { switch (usage) { case C.USAGE_MEDIA: case C.USAGE_GAME: @@ -1762,7 +1759,8 @@ public final class Util { * "clearkey"}. * @return The derived {@link UUID}, or {@code null} if one could not be derived. */ - public static @Nullable UUID getDrmUuid(String drmScheme) { + @Nullable + public static UUID getDrmUuid(String drmScheme) { switch (Ascii.toLowerCase(drmScheme)) { case "widevine": return C.WIDEVINE_UUID; @@ -1784,8 +1782,8 @@ public final class Util { * MediaDrm.ErrorCodes} value. Returns {@link PlaybackException#ERROR_CODE_DRM_SYSTEM_ERROR} if * the provided error code isn't recognised. */ - @PlaybackException.ErrorCode - public static int getErrorCodeForMediaDrmErrorCode(int mediaDrmErrorCode) { + public static @PlaybackException.ErrorCode int getErrorCodeForMediaDrmErrorCode( + int mediaDrmErrorCode) { switch (mediaDrmErrorCode) { case MediaDrm.ErrorCodes.ERROR_PROVISIONING_CONFIG: case MediaDrm.ErrorCodes.ERROR_PROVISIONING_PARSE: @@ -1821,8 +1819,7 @@ public final class Util { * @param overrideExtension If not null, used to infer the type. * @return The content type. */ - @ContentType - public static int inferContentType(Uri uri, @Nullable String overrideExtension) { + public static @ContentType int inferContentType(Uri uri, @Nullable String overrideExtension) { return TextUtils.isEmpty(overrideExtension) ? inferContentType(uri) : inferContentType("." + overrideExtension); @@ -1834,8 +1831,7 @@ public final class Util { * @param uri The {@link Uri}. * @return The content type. */ - @ContentType - public static int inferContentType(Uri uri) { + public static @ContentType int inferContentType(Uri uri) { @Nullable String scheme = uri.getScheme(); if (scheme != null && Ascii.equalsIgnoreCase("rtsp", scheme)) { return C.TYPE_RTSP; @@ -1851,8 +1847,7 @@ public final class Util { * @param fileName Name of the file. It can include the path of the file. * @return The content type. */ - @ContentType - public static int inferContentType(String fileName) { + public static @ContentType int inferContentType(String fileName) { fileName = Ascii.toLowerCase(fileName); if (fileName.endsWith(".mpd")) { return C.TYPE_DASH; @@ -1881,8 +1876,8 @@ public final class Util { * @param mimeType If MIME type, or {@code null}. * @return The content type. */ - @ContentType - public static int inferContentTypeForUriAndMimeType(Uri uri, @Nullable String mimeType) { + public static @ContentType int inferContentTypeForUriAndMimeType( + Uri uri, @Nullable String mimeType) { if (mimeType == null) { return Util.inferContentType(uri); } @@ -2032,7 +2027,8 @@ public final class Util { * @return The original value of the file name before it was escaped, or null if the escaped * fileName seems invalid. */ - public static @Nullable String unescapeFileName(String fileName) { + @Nullable + public static String unescapeFileName(String fileName) { int length = fileName.length(); int percentCharacterCount = 0; for (int i = 0; i < length; i++) { diff --git a/libraries/common/src/main/java/androidx/media3/common/util/XmlPullParserUtil.java b/libraries/common/src/main/java/androidx/media3/common/util/XmlPullParserUtil.java index 46794813e8..3266ee427f 100644 --- a/libraries/common/src/main/java/androidx/media3/common/util/XmlPullParserUtil.java +++ b/libraries/common/src/main/java/androidx/media3/common/util/XmlPullParserUtil.java @@ -93,7 +93,8 @@ public final class XmlPullParserUtil { * @return The value of the attribute, or null if the current event is not a start tag or if no * such attribute was found. */ - public static @Nullable String getAttributeValue(XmlPullParser xpp, String attributeName) { + @Nullable + public static String getAttributeValue(XmlPullParser xpp, String attributeName) { int attributeCount = xpp.getAttributeCount(); for (int i = 0; i < attributeCount; i++) { if (xpp.getAttributeName(i).equals(attributeName)) { @@ -112,8 +113,8 @@ public final class XmlPullParserUtil { * @return The value of the attribute, or null if the current event is not a start tag or if no * such attribute was found. */ - public static @Nullable String getAttributeValueIgnorePrefix( - XmlPullParser xpp, String attributeName) { + @Nullable + public static String getAttributeValueIgnorePrefix(XmlPullParser xpp, String attributeName) { int attributeCount = xpp.getAttributeCount(); for (int i = 0; i < attributeCount; i++) { if (stripPrefix(xpp.getAttributeName(i)).equals(attributeName)) { diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/DataSourceException.java b/libraries/datasource/src/main/java/androidx/media3/datasource/DataSourceException.java index 5ea554ab78..fa14682255 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/DataSourceException.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/DataSourceException.java @@ -57,7 +57,7 @@ public class DataSourceException extends IOException { * The reason of this {@link DataSourceException}, should be one of the {@code ERROR_CODE_IO_*} in * {@link PlaybackException.ErrorCode}. */ - @PlaybackException.ErrorCode public final int reason; + public final @PlaybackException.ErrorCode int reason; /** * Constructs a DataSourceException. diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/DataSpec.java b/libraries/datasource/src/main/java/androidx/media3/datasource/DataSpec.java index 9927ec238d..646b5f274a 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/DataSpec.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/DataSpec.java @@ -49,13 +49,13 @@ public final class DataSpec { @Nullable private Uri uri; private long uriPositionOffset; - @HttpMethod private int httpMethod; + private @HttpMethod int httpMethod; @Nullable private byte[] httpBody; private Map httpRequestHeaders; private long position; private long length; @Nullable private String key; - @Flags private int flags; + private @Flags int flags; @Nullable private Object customData; /** Creates a new instance with default values. */ @@ -330,7 +330,7 @@ public final class DataSpec { * The HTTP method to use when requesting the data. This value will be ignored by non-HTTP {@link * DataSource} implementations. */ - @HttpMethod public final int httpMethod; + public final @HttpMethod int httpMethod; /** * The HTTP request body, null otherwise. If the body is non-null, then {@code httpBody.length} @@ -382,7 +382,7 @@ public final class DataSpec { @Nullable public final String key; /** Request {@link Flags flags}. */ - @Flags public final int flags; + public final @Flags int flags; /** * Application specific data. diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/HttpDataSource.java b/libraries/datasource/src/main/java/androidx/media3/datasource/HttpDataSource.java index 4352008b78..967a00b49c 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/HttpDataSource.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/HttpDataSource.java @@ -233,7 +233,7 @@ public interface HttpDataSource extends DataSource { /** The {@link DataSpec} associated with the current connection. */ public final DataSpec dataSpec; - @Type public final int type; + public final @Type int type; /** * @deprecated Use {@link #HttpDataSourceException(DataSpec, int, int) @@ -349,8 +349,8 @@ public interface HttpDataSource extends DataSource { this.type = type; } - @PlaybackException.ErrorCode - private static int assignErrorCode(@PlaybackException.ErrorCode int errorCode, @Type int type) { + private static @PlaybackException.ErrorCode int assignErrorCode( + @PlaybackException.ErrorCode int errorCode, @Type int type) { return errorCode == PlaybackException.ERROR_CODE_IO_UNSPECIFIED && type == TYPE_OPEN ? PlaybackException.ERROR_CODE_IO_NETWORK_CONNECTION_FAILED : errorCode; diff --git a/libraries/datasource/src/main/java/androidx/media3/datasource/cache/CacheDataSource.java b/libraries/datasource/src/main/java/androidx/media3/datasource/cache/CacheDataSource.java index d39cceb0f0..4eae94a1ee 100644 --- a/libraries/datasource/src/main/java/androidx/media3/datasource/cache/CacheDataSource.java +++ b/libraries/datasource/src/main/java/androidx/media3/datasource/cache/CacheDataSource.java @@ -72,7 +72,7 @@ public final class CacheDataSource implements DataSource { @Nullable private DataSource.Factory upstreamDataSourceFactory; @Nullable private PriorityTaskManager upstreamPriorityTaskManager; private int upstreamPriority; - @CacheDataSource.Flags private int flags; + private @CacheDataSource.Flags int flags; @Nullable private CacheDataSource.EventListener eventListener; public Factory() { diff --git a/libraries/decoder/src/main/java/androidx/media3/decoder/Buffer.java b/libraries/decoder/src/main/java/androidx/media3/decoder/Buffer.java index 26101921d9..abbdba9c9b 100644 --- a/libraries/decoder/src/main/java/androidx/media3/decoder/Buffer.java +++ b/libraries/decoder/src/main/java/androidx/media3/decoder/Buffer.java @@ -22,7 +22,7 @@ import androidx.media3.common.util.UnstableApi; @UnstableApi public abstract class Buffer { - @C.BufferFlags private int flags; + private @C.BufferFlags int flags; /** Clears the buffer. */ public void clear() { diff --git a/libraries/decoder/src/main/java/androidx/media3/decoder/CryptoInfo.java b/libraries/decoder/src/main/java/androidx/media3/decoder/CryptoInfo.java index 93443e28a5..4663b38788 100644 --- a/libraries/decoder/src/main/java/androidx/media3/decoder/CryptoInfo.java +++ b/libraries/decoder/src/main/java/androidx/media3/decoder/CryptoInfo.java @@ -48,7 +48,7 @@ public final class CryptoInfo { * * @see android.media.MediaCodec.CryptoInfo#mode */ - @C.CryptoMode public int mode; + public @C.CryptoMode int mode; /** * The number of leading unencrypted bytes in each sub-sample. If null, all bytes are treated as * encrypted and {@link #numBytesOfEncryptedData} must be specified. diff --git a/libraries/decoder/src/main/java/androidx/media3/decoder/DecoderInputBuffer.java b/libraries/decoder/src/main/java/androidx/media3/decoder/DecoderInputBuffer.java index 05a0164493..265e2b0685 100644 --- a/libraries/decoder/src/main/java/androidx/media3/decoder/DecoderInputBuffer.java +++ b/libraries/decoder/src/main/java/androidx/media3/decoder/DecoderInputBuffer.java @@ -111,7 +111,7 @@ public class DecoderInputBuffer extends Buffer { */ @Nullable public ByteBuffer supplementalData; - @BufferReplacementMode private final int bufferReplacementMode; + private final @BufferReplacementMode int bufferReplacementMode; private final int paddingSize; /** Returns a new instance that's not able to hold any data. */ diff --git a/libraries/decoder/src/main/java/androidx/media3/decoder/VideoDecoderOutputBuffer.java b/libraries/decoder/src/main/java/androidx/media3/decoder/VideoDecoderOutputBuffer.java index ad71e2d066..b0fb72294b 100644 --- a/libraries/decoder/src/main/java/androidx/media3/decoder/VideoDecoderOutputBuffer.java +++ b/libraries/decoder/src/main/java/androidx/media3/decoder/VideoDecoderOutputBuffer.java @@ -34,7 +34,7 @@ public class VideoDecoderOutputBuffer extends DecoderOutputBuffer { public int decoderPrivate; /** Output mode. */ - @C.VideoOutputMode public int mode; + public @C.VideoOutputMode int mode; /** RGB buffer for RGB mode. */ @Nullable public ByteBuffer data; diff --git a/libraries/decoder_av1/src/main/java/androidx/media3/decoder/av1/Gav1Decoder.java b/libraries/decoder_av1/src/main/java/androidx/media3/decoder/av1/Gav1Decoder.java index 27b602caef..fb54007a84 100644 --- a/libraries/decoder_av1/src/main/java/androidx/media3/decoder/av1/Gav1Decoder.java +++ b/libraries/decoder_av1/src/main/java/androidx/media3/decoder/av1/Gav1Decoder.java @@ -41,7 +41,7 @@ public final class Gav1Decoder private final long gav1DecoderContext; - @C.VideoOutputMode private volatile int outputMode; + private volatile @C.VideoOutputMode int outputMode; /** * Creates a Gav1Decoder. diff --git a/libraries/decoder_av1/src/main/java/androidx/media3/decoder/av1/Libgav1VideoRenderer.java b/libraries/decoder_av1/src/main/java/androidx/media3/decoder/av1/Libgav1VideoRenderer.java index 7df78d3f1d..835c505b1f 100644 --- a/libraries/decoder_av1/src/main/java/androidx/media3/decoder/av1/Libgav1VideoRenderer.java +++ b/libraries/decoder_av1/src/main/java/androidx/media3/decoder/av1/Libgav1VideoRenderer.java @@ -128,8 +128,7 @@ public class Libgav1VideoRenderer extends DecoderVideoRenderer { } @Override - @Capabilities - public final int supportsFormat(Format format) { + public final @Capabilities int supportsFormat(Format format) { if (!MimeTypes.VIDEO_AV1.equalsIgnoreCase(format.sampleMimeType) || !Gav1Library.isAvailable()) { return RendererCapabilities.create(C.FORMAT_UNSUPPORTED_TYPE); diff --git a/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegAudioDecoder.java b/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegAudioDecoder.java index aa24f3176b..0e07287400 100644 --- a/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegAudioDecoder.java +++ b/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegAudioDecoder.java @@ -41,7 +41,7 @@ import java.util.List; private final String codecName; @Nullable private final byte[] extraData; - @C.PcmEncoding private final int encoding; + private final @C.PcmEncoding int encoding; private final int outputBufferSize; private long nativeContext; // May be reassigned on resetting the codec. @@ -158,8 +158,7 @@ import java.util.List; } /** Returns the encoding of output audio. */ - @C.PcmEncoding - public int getEncoding() { + public @C.PcmEncoding int getEncoding() { return encoding; } diff --git a/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegAudioRenderer.java b/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegAudioRenderer.java index 047ab542dd..f9119e5e43 100644 --- a/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegAudioRenderer.java +++ b/libraries/decoder_ffmpeg/src/main/java/androidx/media3/decoder/ffmpeg/FfmpegAudioRenderer.java @@ -90,8 +90,7 @@ public final class FfmpegAudioRenderer extends DecoderAudioRenderer { } @Override - @C.FormatSupport - protected int supportsFormatInternal(Format format) { + protected @C.FormatSupport int supportsFormatInternal(Format format) { boolean drmIsSupported = OpusLibrary.supportsCryptoType(format.cryptoType); if (!OpusLibrary.isAvailable() || !MimeTypes.AUDIO_OPUS.equalsIgnoreCase(format.sampleMimeType)) { diff --git a/libraries/decoder_vp9/src/main/java/androidx/media3/decoder/vp9/LibvpxVideoRenderer.java b/libraries/decoder_vp9/src/main/java/androidx/media3/decoder/vp9/LibvpxVideoRenderer.java index 0cbc8eb5ab..3f8130c1ad 100644 --- a/libraries/decoder_vp9/src/main/java/androidx/media3/decoder/vp9/LibvpxVideoRenderer.java +++ b/libraries/decoder_vp9/src/main/java/androidx/media3/decoder/vp9/LibvpxVideoRenderer.java @@ -126,8 +126,7 @@ public class LibvpxVideoRenderer extends DecoderVideoRenderer { } @Override - @Capabilities - public final int supportsFormat(Format format) { + public final @Capabilities int supportsFormat(Format format) { if (!VpxLibrary.isAvailable() || !MimeTypes.VIDEO_VP9.equalsIgnoreCase(format.sampleMimeType)) { return RendererCapabilities.create(C.FORMAT_UNSUPPORTED_TYPE); } diff --git a/libraries/decoder_vp9/src/main/java/androidx/media3/decoder/vp9/VpxDecoder.java b/libraries/decoder_vp9/src/main/java/androidx/media3/decoder/vp9/VpxDecoder.java index 6771056f7b..259ac2a544 100644 --- a/libraries/decoder_vp9/src/main/java/androidx/media3/decoder/vp9/VpxDecoder.java +++ b/libraries/decoder_vp9/src/main/java/androidx/media3/decoder/vp9/VpxDecoder.java @@ -49,7 +49,7 @@ public final class VpxDecoder @Nullable private ByteBuffer lastSupplementalData; - @C.VideoOutputMode private volatile int outputMode; + private volatile @C.VideoOutputMode int outputMode; /** * Creates a VP9 decoder. diff --git a/libraries/exoplayer/src/androidTest/java/androidx/media3/exoplayer/StreamVolumeManagerTest.java b/libraries/exoplayer/src/androidTest/java/androidx/media3/exoplayer/StreamVolumeManagerTest.java index 404611de21..df1ea2f4a0 100644 --- a/libraries/exoplayer/src/androidTest/java/androidx/media3/exoplayer/StreamVolumeManagerTest.java +++ b/libraries/exoplayer/src/androidTest/java/androidx/media3/exoplayer/StreamVolumeManagerTest.java @@ -273,7 +273,7 @@ public class StreamVolumeManagerTest { private static class TestListener implements StreamVolumeManager.Listener { - @C.StreamType private int lastStreamType; + private @C.StreamType int lastStreamType; private int lastStreamVolume; private boolean lastStreamVolumeMuted; public final CountDownLatch onStreamVolumeChangedLatch; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java index 68203349aa..e07c434534 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/AudioFocusManager.java @@ -139,7 +139,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @Nullable private PlayerControl playerControl; @Nullable private AudioAttributes audioAttributes; - @AudioFocusState private int audioFocusState; + private @AudioFocusState int audioFocusState; private @AudioFocusGain int focusGainToRequest; private float volumeMultiplier = VOLUME_MULTIPLIER_DEFAULT; @@ -193,8 +193,8 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * @param playbackState The desired playback state. * @return A {@link PlayerCommand} to execute on the player. */ - @PlayerCommand - public int updateAudioFocus(boolean playWhenReady, @Player.State int playbackState) { + public @PlayerCommand int updateAudioFocus( + boolean playWhenReady, @Player.State int playbackState) { if (shouldAbandonAudioFocusIfHeld(playbackState)) { abandonAudioFocusIfHeld(); return playWhenReady ? PLAYER_COMMAND_PLAY_WHEN_READY : PLAYER_COMMAND_DO_NOT_PLAY; @@ -222,8 +222,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; return playbackState == Player.STATE_IDLE || focusGainToRequest != AUDIOFOCUS_GAIN; } - @PlayerCommand - private int requestAudioFocus() { + private @PlayerCommand int requestAudioFocus() { if (audioFocusState == AUDIO_FOCUS_STATE_HAVE_FOCUS) { return PLAYER_COMMAND_PLAY_WHEN_READY; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/BaseRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/BaseRenderer.java index f2667947d9..db410d3a8d 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/BaseRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/BaseRenderer.java @@ -200,8 +200,7 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities { // RendererCapabilities implementation. @Override - @AdaptiveSupport - public int supportsMixedMimeTypeAdaptation() throws ExoPlaybackException { + public @AdaptiveSupport int supportsMixedMimeTypeAdaptation() throws ExoPlaybackException { return ADAPTIVE_NOT_SUPPORTED; } @@ -424,8 +423,7 @@ public abstract class BaseRenderer implements Renderer, RendererCapabilities { * the data of a sample being read. The buffer {@link DecoderInputBuffer#timeUs timestamp} and * flags are populated if this exception is thrown, but the read position is not advanced. */ - @ReadDataResult - protected final int readSource( + protected final @ReadDataResult int readSource( FormatHolder formatHolder, DecoderInputBuffer buffer, @ReadFlags int readFlags) { @ReadDataResult int result = Assertions.checkNotNull(stream).readData(formatHolder, buffer, readFlags); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DecoderReuseEvaluation.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DecoderReuseEvaluation.java index 0257b4af1d..142555e985 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DecoderReuseEvaluation.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DecoderReuseEvaluation.java @@ -125,13 +125,13 @@ public final class DecoderReuseEvaluation { public final Format newFormat; /** The {@link DecoderReuseResult result} of the evaluation. */ - @DecoderReuseResult public final int result; + public final @DecoderReuseResult int result; /** * {@link DecoderDiscardReasons Reasons} why the decoder cannot be reused. Always {@code 0} if * reuse is possible. May also be {code 0} if reuse is not possible for an unspecified reason. */ - @DecoderDiscardReasons public final int discardReasons; + public final @DecoderDiscardReasons int discardReasons; /** * @param decoderName The name of the decoder. diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java index 61e3c0f5e8..013aab4365 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/DefaultRenderersFactory.java @@ -95,7 +95,7 @@ public class DefaultRenderersFactory implements RenderersFactory { private final Context context; private final DefaultMediaCodecAdapterFactory codecAdapterFactory; - @ExtensionRendererMode private int extensionRendererMode; + private @ExtensionRendererMode int extensionRendererMode; private long allowedVideoJoiningTimeMs; private boolean enableDecoderFallback; private MediaCodecSelector mediaCodecSelector; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlaybackException.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlaybackException.java index 2a2b03ab0f..52bf89b365 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlaybackException.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlaybackException.java @@ -85,7 +85,7 @@ public final class ExoPlaybackException extends PlaybackException { @UnstableApi public static final int TYPE_REMOTE = 3; /** The {@link Type} of the playback failure. */ - @UnstableApi @Type public final int type; + @UnstableApi public final @Type int type; /** If {@link #type} is {@link #TYPE_RENDERER}, this is the name of the renderer. */ @UnstableApi @Nullable public final String rendererName; @@ -104,7 +104,7 @@ public final class ExoPlaybackException extends PlaybackException { * renderer for {@link #rendererFormat}. If {@link #rendererFormat} is null, this is {@link * C#FORMAT_HANDLED}. */ - @UnstableApi @FormatSupport public final int rendererFormatSupport; + @UnstableApi public final @FormatSupport int rendererFormatSupport; /** The {@link MediaPeriodId} of the media associated with this error, or null if undetermined. */ @UnstableApi @Nullable public final MediaPeriodId mediaPeriodId; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java index e076dad419..ab7c22607d 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImpl.java @@ -216,12 +216,12 @@ import java.util.concurrent.TimeoutException; private final WifiLockManager wifiLockManager; private final long detachSurfaceTimeoutMs; - @RepeatMode private int repeatMode; + private @RepeatMode int repeatMode; private boolean shuffleModeEnabled; private int pendingOperationAcks; - @DiscontinuityReason private int pendingDiscontinuityReason; + private @DiscontinuityReason int pendingDiscontinuityReason; private boolean pendingDiscontinuity; - @PlayWhenReadyChangeReason private int pendingPlayWhenReadyChangeReason; + private @PlayWhenReadyChangeReason int pendingPlayWhenReadyChangeReason; private boolean foregroundMode; private SeekParameters seekParameters; private ShuffleOrder shuffleOrder; @@ -238,8 +238,8 @@ import java.util.concurrent.TimeoutException; @Nullable private SphericalGLSurfaceView sphericalGLSurfaceView; private boolean surfaceHolderSurfaceIsVideoOutput; @Nullable private TextureView textureView; - @C.VideoScalingMode private int videoScalingMode; - @C.VideoChangeFrameRateStrategy private int videoChangeFrameRateStrategy; + private @C.VideoScalingMode int videoScalingMode; + private @C.VideoChangeFrameRateStrategy int videoChangeFrameRateStrategy; private int surfaceWidth; private int surfaceHeight; @Nullable private DecoderCounters videoDecoderCounters; @@ -515,14 +515,12 @@ import java.util.concurrent.TimeoutException; return availableCommands; } - @State - public int getPlaybackState() { + public @State int getPlaybackState() { verifyApplicationThread(); return playbackInfo.playbackState; } - @PlaybackSuppressionReason - public int getPlaybackSuppressionReason() { + public @PlaybackSuppressionReason int getPlaybackSuppressionReason() { verifyApplicationThread(); return playbackInfo.playbackSuppressionReason; } @@ -814,8 +812,7 @@ import java.util.concurrent.TimeoutException; } } - @RepeatMode - public int getRepeatMode() { + public @RepeatMode int getRepeatMode() { verifyApplicationThread(); return repeatMode; } @@ -1271,8 +1268,7 @@ import java.util.concurrent.TimeoutException; sendRendererMessage(TRACK_TYPE_VIDEO, MSG_SET_SCALING_MODE, videoScalingMode); } - @C.VideoScalingMode - public int getVideoScalingMode() { + public @C.VideoScalingMode int getVideoScalingMode() { return videoScalingMode; } @@ -1287,8 +1283,7 @@ import java.util.concurrent.TimeoutException; TRACK_TYPE_VIDEO, MSG_SET_CHANGE_FRAME_RATE_STRATEGY, videoChangeFrameRateStrategy); } - @C.VideoChangeFrameRateStrategy - public int getVideoChangeFrameRateStrategy() { + public @C.VideoChangeFrameRateStrategy int getVideoChangeFrameRateStrategy() { return videoChangeFrameRateStrategy; } @@ -2968,15 +2963,13 @@ import java.util.concurrent.TimeoutException; private static final class FrameMetadataListener implements VideoFrameMetadataListener, CameraMotionListener, PlayerMessage.Target { - @MessageType - public static final int MSG_SET_VIDEO_FRAME_METADATA_LISTENER = + public static final @MessageType int MSG_SET_VIDEO_FRAME_METADATA_LISTENER = Renderer.MSG_SET_VIDEO_FRAME_METADATA_LISTENER; - @MessageType - public static final int MSG_SET_CAMERA_MOTION_LISTENER = + public static final @MessageType int MSG_SET_CAMERA_MOTION_LISTENER = Renderer.MSG_SET_CAMERA_MOTION_LISTENER; - @MessageType public static final int MSG_SET_SPHERICAL_SURFACE_VIEW = Renderer.MSG_CUSTOM_BASE; + public static final @MessageType int MSG_SET_SPHERICAL_SURFACE_VIEW = Renderer.MSG_CUSTOM_BASE; @Nullable private VideoFrameMetadataListener videoFrameMetadataListener; @Nullable private CameraMotionListener cameraMotionListener; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java index 6096159fbc..1bbed758c9 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoPlayerImplInternal.java @@ -93,9 +93,9 @@ import java.util.concurrent.atomic.AtomicBoolean; public PlaybackInfo playbackInfo; public int operationAcks; public boolean positionDiscontinuity; - @DiscontinuityReason public int discontinuityReason; + public @DiscontinuityReason int discontinuityReason; public boolean hasPlayWhenReadyChangeReason; - @PlayWhenReadyChangeReason public int playWhenReadyChangeReason; + public @PlayWhenReadyChangeReason int playWhenReadyChangeReason; public PlaybackInfoUpdate(PlaybackInfo playbackInfo) { this.playbackInfo = playbackInfo; @@ -216,7 +216,7 @@ import java.util.concurrent.atomic.AtomicBoolean; private boolean pendingPauseAtEndOfPeriod; private boolean isRebuffering; private boolean shouldContinueLoading; - @Player.RepeatMode private int repeatMode; + private @Player.RepeatMode int repeatMode; private boolean shuffleModeEnabled; private boolean foregroundMode; private boolean requestForRendererSleep; @@ -2943,7 +2943,8 @@ import java.util.concurrent.atomic.AtomicBoolean; * @return The uid in the new timeline of the first subsequent period, or null if no such period * was found. */ - /* package */ static @Nullable Object resolveSubsequentPeriod( + /* package */ @Nullable + static Object resolveSubsequentPeriod( Timeline.Window window, Timeline.Period period, @Player.RepeatMode int repeatMode, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoTimeoutException.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoTimeoutException.java index cc1ca1404e..06dd0f9ff7 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoTimeoutException.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/ExoTimeoutException.java @@ -62,7 +62,7 @@ public final class ExoTimeoutException extends RuntimeException { public static final int TIMEOUT_OPERATION_DETACH_SURFACE = 3; /** The operation on the ExoPlayer playback thread that timed out. */ - @TimeoutOperation public final int timeoutOperation; + public final @TimeoutOperation int timeoutOperation; /** * Creates the timeout exception. diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/NoSampleRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/NoSampleRenderer.java index 95999b5f75..c9cf750d62 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/NoSampleRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/NoSampleRenderer.java @@ -169,14 +169,12 @@ public abstract class NoSampleRenderer implements Renderer, RendererCapabilities // RendererCapabilities implementation. @Override - @Capabilities - public int supportsFormat(Format format) throws ExoPlaybackException { + public @Capabilities int supportsFormat(Format format) throws ExoPlaybackException { return RendererCapabilities.create(C.FORMAT_UNSUPPORTED_TYPE); } @Override - @AdaptiveSupport - public int supportsMixedMimeTypeAdaptation() throws ExoPlaybackException { + public @AdaptiveSupport int supportsMixedMimeTypeAdaptation() throws ExoPlaybackException { return ADAPTIVE_NOT_SUPPORTED; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/PlaybackInfo.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/PlaybackInfo.java index 68fb854178..6dab072666 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/PlaybackInfo.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/PlaybackInfo.java @@ -55,7 +55,7 @@ import java.util.List; /** The start position after a reported position discontinuity, in microseconds. */ public final long discontinuityStartPositionUs; /** The current playback state. One of the {@link Player}.STATE_ constants. */ - @Player.State public final int playbackState; + public final @Player.State int playbackState; /** The current playback error, or null if this is not an error state. */ @Nullable public final ExoPlaybackException playbackError; /** Whether the player is currently loading. */ @@ -71,7 +71,7 @@ import java.util.List; /** Whether playback should proceed when {@link #playbackState} == {@link Player#STATE_READY}. */ public final boolean playWhenReady; /** Reason why playback is suppressed even though {@link #playWhenReady} is {@code true}. */ - @PlaybackSuppressionReason public final int playbackSuppressionReason; + public final @PlaybackSuppressionReason int playbackSuppressionReason; /** The playback parameters. */ public final PlaybackParameters playbackParameters; /** Whether offload scheduling is enabled for the main player loop. */ diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/RendererCapabilities.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/RendererCapabilities.java index 755b2c77b7..a51f245cc3 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/RendererCapabilities.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/RendererCapabilities.java @@ -191,8 +191,7 @@ public interface RendererCapabilities { * @return The combined {@link Capabilities} of the given {@link C.FormatSupport}, {@link * #ADAPTIVE_NOT_SUPPORTED} and {@link #TUNNELING_NOT_SUPPORTED}. */ - @Capabilities - static int create(@C.FormatSupport int formatSupport) { + static @Capabilities int create(@C.FormatSupport int formatSupport) { return create(formatSupport, ADAPTIVE_NOT_SUPPORTED, TUNNELING_NOT_SUPPORTED); } @@ -208,8 +207,7 @@ public interface RendererCapabilities { * @param tunnelingSupport The {@link TunnelingSupport}. * @return The combined {@link Capabilities}. */ - @Capabilities - static int create( + static @Capabilities int create( @C.FormatSupport int formatSupport, @AdaptiveSupport int adaptiveSupport, @TunnelingSupport int tunnelingSupport) { @@ -235,8 +233,7 @@ public interface RendererCapabilities { */ // Suppression needed for IntDef casting. @SuppressLint("WrongConstant") - @Capabilities - static int create( + static @Capabilities int create( @C.FormatSupport int formatSupport, @AdaptiveSupport int adaptiveSupport, @TunnelingSupport int tunnelingSupport, @@ -257,8 +254,7 @@ public interface RendererCapabilities { */ // Suppression needed for IntDef casting. @SuppressLint("WrongConstant") - @C.FormatSupport - static int getFormatSupport(@Capabilities int supportFlags) { + static @C.FormatSupport int getFormatSupport(@Capabilities int supportFlags) { return supportFlags & FORMAT_SUPPORT_MASK; } @@ -270,8 +266,7 @@ public interface RendererCapabilities { */ // Suppression needed for IntDef casting. @SuppressLint("WrongConstant") - @AdaptiveSupport - static int getAdaptiveSupport(@Capabilities int supportFlags) { + static @AdaptiveSupport int getAdaptiveSupport(@Capabilities int supportFlags) { return supportFlags & ADAPTIVE_SUPPORT_MASK; } @@ -283,8 +278,7 @@ public interface RendererCapabilities { */ // Suppression needed for IntDef casting. @SuppressLint("WrongConstant") - @TunnelingSupport - static int getTunnelingSupport(@Capabilities int supportFlags) { + static @TunnelingSupport int getTunnelingSupport(@Capabilities int supportFlags) { return supportFlags & TUNNELING_SUPPORT_MASK; } @@ -296,8 +290,8 @@ public interface RendererCapabilities { */ // Suppression needed for IntDef casting. @SuppressLint("WrongConstant") - @HardwareAccelerationSupport - static int getHardwareAccelerationSupport(@Capabilities int supportFlags) { + static @HardwareAccelerationSupport int getHardwareAccelerationSupport( + @Capabilities int supportFlags) { return supportFlags & HARDWARE_ACCELERATION_SUPPORT_MASK; } @@ -309,8 +303,7 @@ public interface RendererCapabilities { */ // Suppression needed for IntDef casting. @SuppressLint("WrongConstant") - @DecoderSupport - static int getDecoderSupport(@Capabilities int supportFlags) { + static @DecoderSupport int getDecoderSupport(@Capabilities int supportFlags) { return supportFlags & MODE_SUPPORT_MASK; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java index bffbe5e453..14540012df 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/SimpleExoPlayer.java @@ -398,8 +398,7 @@ public class SimpleExoPlayer extends BasePlayer } @Override - @C.VideoScalingMode - public int getVideoScalingMode() { + public @C.VideoScalingMode int getVideoScalingMode() { return player.getVideoScalingMode(); } @@ -410,8 +409,7 @@ public class SimpleExoPlayer extends BasePlayer } @Override - @C.VideoChangeFrameRateStrategy - public int getVideoChangeFrameRateStrategy() { + public @C.VideoChangeFrameRateStrategy int getVideoChangeFrameRateStrategy() { return player.getVideoChangeFrameRateStrategy(); } @@ -639,14 +637,12 @@ public class SimpleExoPlayer extends BasePlayer } @Override - @State - public int getPlaybackState() { + public @State int getPlaybackState() { return player.getPlaybackState(); } @Override - @PlaybackSuppressionReason - public int getPlaybackSuppressionReason() { + public @PlaybackSuppressionReason int getPlaybackSuppressionReason() { return player.getPlaybackSuppressionReason(); } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/StreamVolumeManager.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/StreamVolumeManager.java index 43eb76a1a1..c5a8230154 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/StreamVolumeManager.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/StreamVolumeManager.java @@ -55,7 +55,7 @@ import androidx.media3.common.util.Util; private final AudioManager audioManager; @Nullable private VolumeChangeReceiver receiver; - @C.StreamType private int streamType; + private @C.StreamType int streamType; private int volume; private boolean muted; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java index 59d8b333bc..54b631389e 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/AnalyticsListener.java @@ -150,8 +150,7 @@ public interface AnalyticsListener { * @param index The index. Must be between 0 (inclusive) and {@link #size()} (exclusive). * @return The {@link EventFlags event} at the given index. */ - @EventFlags - public int get(int index) { + public @EventFlags int get(int index) { return flags.get(index); } } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/MediaMetricsListener.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/MediaMetricsListener.java index 419e168b5c..50d07ce7ca 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/MediaMetricsListener.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/MediaMetricsListener.java @@ -120,7 +120,7 @@ public final class MediaMetricsListener @Nullable private String activeSessionId; @Nullable private PlaybackMetrics.Builder metricsBuilder; - @Player.DiscontinuityReason private int discontinuityReason; + private @Player.DiscontinuityReason int discontinuityReason; private int currentPlaybackState; private int currentNetworkType; @Nullable private PlaybackException pendingPlayerError; @@ -887,7 +887,7 @@ public final class MediaMetricsListener private static final class PendingFormatUpdate { public final Format format; - @C.SelectionReason public final int selectionReason; + public final @C.SelectionReason int selectionReason; public final String sessionId; public PendingFormatUpdate( diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/PlaybackStatsListener.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/PlaybackStatsListener.java index cb5ff1aa94..76ff331955 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/PlaybackStatsListener.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/analytics/PlaybackStatsListener.java @@ -84,7 +84,7 @@ public final class PlaybackStatsListener @Nullable private String discontinuityFromSession; private long discontinuityFromPositionMs; - @Player.DiscontinuityReason private int discontinuityReason; + private @Player.DiscontinuityReason int discontinuityReason; private int droppedFrames; @Nullable private Exception nonFatalException; private long bandwidthTimeMs; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java index de6c34e119..ed7b23813c 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/AudioProcessor.java @@ -45,7 +45,7 @@ public interface AudioProcessor { /** The number of interleaved channels. */ public final int channelCount; /** The type of linear PCM encoding. */ - @C.PcmEncoding public final int encoding; + public final @C.PcmEncoding int encoding; /** The number of bytes used to represent one audio frame. */ public final int bytesPerFrame; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java index 2f9ac4accf..87c3666605 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DecoderAudioRenderer.java @@ -138,7 +138,7 @@ public abstract class DecoderAudioRenderer< @Nullable private DrmSession decoderDrmSession; @Nullable private DrmSession sourceDrmSession; - @ReinitializationState private int decoderReinitializationState; + private @ReinitializationState int decoderReinitializationState; private boolean decoderReceivedBuffers; private boolean audioTrackNeedsConfigure; @@ -228,8 +228,7 @@ public abstract class DecoderAudioRenderer< } @Override - @Capabilities - public final int supportsFormat(Format format) { + public final @Capabilities int supportsFormat(Format format) { if (!MimeTypes.isAudio(format.sampleMimeType)) { return RendererCapabilities.create(C.FORMAT_UNSUPPORTED_TYPE); } @@ -248,8 +247,7 @@ public abstract class DecoderAudioRenderer< * @param format The format, which has an audio {@link Format#sampleMimeType}. * @return The {@link C.FormatSupport} for this {@link Format}. */ - @C.FormatSupport - protected abstract int supportsFormatInternal(Format format); + protected abstract @C.FormatSupport int supportsFormatInternal(Format format); /** * Returns whether the renderer's {@link AudioSink} supports a given {@link Format}. @@ -266,8 +264,7 @@ public abstract class DecoderAudioRenderer< * * @see AudioSink#getFormatSupport(Format) (Format) */ - @SinkFormatSupport - protected final int getSinkFormatSupport(Format format) { + protected final @SinkFormatSupport int getSinkFormatSupport(Format format) { return audioSink.getFormatSupport(format); } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java index d9859a99e6..7186ca79a5 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/DefaultAudioSink.java @@ -482,8 +482,8 @@ public final class DefaultAudioSink implements AudioSink { private final AudioTrackPositionTracker audioTrackPositionTracker; private final ArrayDeque mediaPositionParametersCheckpoints; private final boolean enableAudioTrackPlaybackParams; - @OffloadMode private final int offloadMode; - @MonotonicNonNull private StreamEventCallbackV29 offloadStreamEventCallbackV29; + private final @OffloadMode int offloadMode; + private @MonotonicNonNull StreamEventCallbackV29 offloadStreamEventCallbackV29; private final PendingExceptionHolder initializationExceptionPendingExceptionHolder; private final PendingExceptionHolder writeExceptionPendingExceptionHolder; @@ -492,7 +492,7 @@ public final class DefaultAudioSink implements AudioSink { @Nullable private PlayerId playerId; @Nullable private Listener listener; @Nullable private Configuration pendingConfiguration; - @MonotonicNonNull private Configuration configuration; + private @MonotonicNonNull Configuration configuration; @Nullable private AudioTrack audioTrack; private AudioAttributes audioAttributes; @@ -518,7 +518,7 @@ public final class DefaultAudioSink implements AudioSink { @Nullable private ByteBuffer inputBuffer; private int inputBufferAccessUnitCount; @Nullable private ByteBuffer outputBuffer; - @MonotonicNonNull private byte[] preV21OutputBuffer; + private @MonotonicNonNull byte[] preV21OutputBuffer; private int preV21OutputBufferOffset; private int drainingAudioProcessorIndex; private boolean handledEndOfStream; @@ -661,8 +661,7 @@ public final class DefaultAudioSink implements AudioSink { } @Override - @SinkFormatSupport - public int getFormatSupport(Format format) { + public @SinkFormatSupport int getFormatSupport(Format format) { if (MimeTypes.AUDIO_RAW.equals(format.sampleMimeType)) { if (!Util.isEncodingLinearPcm(format.pcmEncoding)) { Log.w(TAG, "Invalid PCM encoding: " + format.pcmEncoding); @@ -2136,11 +2135,11 @@ public final class DefaultAudioSink implements AudioSink { public final Format inputFormat; public final int inputPcmFrameSize; - @OutputMode public final int outputMode; + public final @OutputMode int outputMode; public final int outputPcmFrameSize; public final int outputSampleRate; public final int outputChannelConfig; - @C.Encoding public final int outputEncoding; + public final @C.Encoding int outputEncoding; public final int bufferSize; public final AudioProcessor[] availableAudioProcessors; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ForwardingAudioSink.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ForwardingAudioSink.java index eda2b250de..06fdf5afd1 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ForwardingAudioSink.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/ForwardingAudioSink.java @@ -50,8 +50,7 @@ public class ForwardingAudioSink implements AudioSink { } @Override - @SinkFormatSupport - public int getFormatSupport(Format format) { + public @SinkFormatSupport int getFormatSupport(Format format) { return sink.getFormatSupport(format); } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/MediaCodecAudioRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/MediaCodecAudioRenderer.java index 172d0a3ca8..6c929efada 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/MediaCodecAudioRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/MediaCodecAudioRenderer.java @@ -286,8 +286,7 @@ public class MediaCodecAudioRenderer extends MediaCodecRenderer implements Media } @Override - @Capabilities - protected int supportsFormat(MediaCodecSelector mediaCodecSelector, Format format) + protected @Capabilities int supportsFormat(MediaCodecSelector mediaCodecSelector, Format format) throws DecoderQueryException { if (!MimeTypes.isAudio(format.sampleMimeType)) { return RendererCapabilities.create(C.FORMAT_UNSUPPORTED_TYPE); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java index 1390cc0aff..2a0ef051ab 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SilenceSkippingAudioProcessor.java @@ -88,7 +88,7 @@ public final class SilenceSkippingAudioProcessor extends BaseAudioProcessor { */ private byte[] paddingBuffer; - @State private int state; + private @State int state; private int maybeSilenceBufferSize; private int paddingSize; private boolean hasOutputNoise; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SpatializerDelegate.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SpatializerDelegate.java index d2778905b5..0c1556012c 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SpatializerDelegate.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/SpatializerDelegate.java @@ -129,8 +129,7 @@ import java.util.concurrent.Executor; } /** Delegates to Spatializer.getImmersiveAudioLevel() */ - @ImmersiveAudioLevel - public int getImmersiveAudioLevel() { + public @ImmersiveAudioLevel int getImmersiveAudioLevel() { try { return (int) Util.castNonNull(getImmersiveAudioLevel.invoke(spatializer)); } catch (IllegalAccessException | InvocationTargetException e) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/TeeAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/TeeAudioProcessor.java index 8e9c8d63e0..aa9c5e87e9 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/TeeAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/TeeAudioProcessor.java @@ -128,7 +128,7 @@ public final class TeeAudioProcessor extends BaseAudioProcessor { private int sampleRateHz; private int channelCount; - @C.PcmEncoding private int encoding; + private @C.PcmEncoding int encoding; @Nullable private RandomAccessFile randomAccessFile; private int counter; private int bytesWritten; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/TrimmingAudioProcessor.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/TrimmingAudioProcessor.java index a3d1173418..9e734f5230 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/TrimmingAudioProcessor.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/audio/TrimmingAudioProcessor.java @@ -25,7 +25,7 @@ import java.nio.ByteBuffer; /** Audio processor for trimming samples from the start/end of data. */ /* package */ final class TrimmingAudioProcessor extends BaseAudioProcessor { - @C.PcmEncoding private static final int OUTPUT_ENCODING = C.ENCODING_PCM_16BIT; + private static final @C.PcmEncoding int OUTPUT_ENCODING = C.ENCODING_PCM_16BIT; private int trimStartFrames; private int trimEndFrames; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSession.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSession.java index 44dc7d3a05..c64eb57dab 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSession.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSession.java @@ -254,8 +254,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; // DrmSession implementation. @Override - @DrmSession.State - public final int getState() { + public final @DrmSession.State int getState() { return state; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.java index 1a3c8ebcf9..adcb450e28 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DefaultDrmSessionManager.java @@ -312,7 +312,7 @@ public class DefaultDrmSessionManager implements DrmSessionManager { @Nullable private byte[] offlineLicenseKeySetId; private @MonotonicNonNull PlayerId playerId; - /* package */ volatile @Nullable MediaDrmHandler mediaDrmHandler; + /* package */ @Nullable volatile MediaDrmHandler mediaDrmHandler; /** * @param uuid The UUID of the drm scheme. @@ -590,8 +590,7 @@ public class DefaultDrmSessionManager implements DrmSessionManager { } @Override - @C.CryptoType - public int getCryptoType(Format format) { + public @C.CryptoType int getCryptoType(Format format) { @C.CryptoType int cryptoType = checkNotNull(exoMediaDrm).getCryptoType(); if (format.drmInitData == null) { int trackType = MimeTypes.getTrackType(format.sampleMimeType); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DrmSession.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DrmSession.java index 73fcb430ee..968a3d207f 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DrmSession.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DrmSession.java @@ -65,7 +65,7 @@ public interface DrmSession { class DrmSessionException extends IOException { /** The {@link PlaybackException.ErrorCode} that corresponds to the failure. */ - @PlaybackException.ErrorCode public final int errorCode; + public final @PlaybackException.ErrorCode int errorCode; public DrmSessionException(Throwable cause, @PlaybackException.ErrorCode int errorCode) { super(cause); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DrmSessionManager.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DrmSessionManager.java index a1b1bae06e..0fab623522 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DrmSessionManager.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DrmSessionManager.java @@ -66,8 +66,7 @@ public interface DrmSessionManager { } @Override - @C.CryptoType - public int getCryptoType(Format format) { + public @C.CryptoType int getCryptoType(Format format) { return format.drmInitData != null ? C.CRYPTO_TYPE_UNSUPPORTED : C.CRYPTO_TYPE_NONE; } }; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DrmUtil.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DrmUtil.java index ec43643855..a47fb682bb 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DrmUtil.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DrmUtil.java @@ -72,8 +72,7 @@ public final class DrmUtil { * @return The {@link PlaybackException.ErrorCode} that corresponds to the given DRM-related * exception. */ - @PlaybackException.ErrorCode - public static int getErrorCodeForMediaDrmException( + public static @PlaybackException.ErrorCode int getErrorCodeForMediaDrmException( Exception exception, @ErrorSource int errorSource) { if (Util.SDK_INT >= 21 && Api21.isMediaDrmStateException(exception)) { return Api21.mediaDrmStateExceptionToErrorCode(exception); @@ -128,8 +127,8 @@ public final class DrmUtil { } @DoNotInline - @PlaybackException.ErrorCode - public static int mediaDrmStateExceptionToErrorCode(Throwable throwable) { + public static @PlaybackException.ErrorCode int mediaDrmStateExceptionToErrorCode( + Throwable throwable) { @Nullable String diagnosticsInfo = ((MediaDrm.MediaDrmStateException) throwable).getDiagnosticInfo(); int drmErrorCode = Util.getErrorCodeFromPlatformDiagnosticsInfo(diagnosticsInfo); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DummyExoMediaDrm.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DummyExoMediaDrm.java index 89afc0603f..58efd2f082 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DummyExoMediaDrm.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/DummyExoMediaDrm.java @@ -153,8 +153,7 @@ public final class DummyExoMediaDrm implements ExoMediaDrm { } @Override - @C.CryptoType - public int getCryptoType() { + public @C.CryptoType int getCryptoType() { return C.CRYPTO_TYPE_UNSUPPORTED; } } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/ExoMediaDrm.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/ExoMediaDrm.java index 5557e00392..ba537890c8 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/ExoMediaDrm.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/ExoMediaDrm.java @@ -267,7 +267,7 @@ public interface ExoMediaDrm { private final byte[] data; private final String licenseServerUrl; - @RequestType private final int requestType; + private final @RequestType int requestType; /** * Creates an instance with {@link #REQUEST_TYPE_UNKNOWN}. @@ -307,8 +307,7 @@ public interface ExoMediaDrm { * request does not specify a type. Note that when using a platform {@link MediaDrm} instance, * key requests only specify a type on API levels 23 and above. */ - @RequestType - public int getRequestType() { + public @RequestType int getRequestType() { return requestType; } } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/FrameworkMediaDrm.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/FrameworkMediaDrm.java index 00bde4ce26..10fda5099a 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/FrameworkMediaDrm.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/FrameworkMediaDrm.java @@ -342,8 +342,7 @@ public final class FrameworkMediaDrm implements ExoMediaDrm { } @Override - @C.CryptoType - public int getCryptoType() { + public @C.CryptoType int getCryptoType() { return C.CRYPTO_TYPE_FRAMEWORK; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/UnsupportedDrmException.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/UnsupportedDrmException.java index f42dde626b..9b360d2776 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/UnsupportedDrmException.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/UnsupportedDrmException.java @@ -49,7 +49,7 @@ public final class UnsupportedDrmException extends Exception { public static final int REASON_INSTANTIATION_ERROR = 2; /** Either {@link #REASON_UNSUPPORTED_SCHEME} or {@link #REASON_INSTANTIATION_ERROR}. */ - @Reason public final int reason; + public final @Reason int reason; /** @param reason {@link #REASON_UNSUPPORTED_SCHEME} or {@link #REASON_INSTANTIATION_ERROR}. */ public UnsupportedDrmException(@Reason int reason) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/WidevineUtil.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/WidevineUtil.java index 74224d1c21..2815f8c796 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/WidevineUtil.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/drm/WidevineUtil.java @@ -39,7 +39,8 @@ public final class WidevineUtil { * @return A {@link Pair} consisting of the remaining license and playback durations in seconds, * or null if called before the session has been opened or after it's been released. */ - public static @Nullable Pair getLicenseDurationRemainingSec(DrmSession drmSession) { + @Nullable + public static Pair getLicenseDurationRemainingSec(DrmSession drmSession) { Map keyStatus = drmSession.queryKeyStatus(); if (keyStatus == null) { return null; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/AsynchronousMediaCodecAdapter.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/AsynchronousMediaCodecAdapter.java index e4f465c46e..e013c4b990 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/AsynchronousMediaCodecAdapter.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/AsynchronousMediaCodecAdapter.java @@ -141,7 +141,7 @@ import java.nio.ByteBuffer; private final boolean synchronizeCodecInteractionsWithQueueing; private final boolean enableImmediateCodecStartAfterFlush; private boolean codecReleased; - @State private int state; + private @State int state; private AsynchronousMediaCodecAdapter( MediaCodec codec, diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/DefaultMediaCodecAdapterFactory.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/DefaultMediaCodecAdapterFactory.java index d77786a0e7..03e5aafd44 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/DefaultMediaCodecAdapterFactory.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/DefaultMediaCodecAdapterFactory.java @@ -53,7 +53,7 @@ public final class DefaultMediaCodecAdapterFactory implements MediaCodecAdapter. private static final String TAG = "DMCodecAdapterFactory"; - @Mode private int asynchronousMode; + private @Mode int asynchronousMode; private boolean enableSynchronizeCodecInteractionsWithQueueing; private boolean enableImmediateCodecStartAfterFlush; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java index be578bf02b..6d328d506a 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java @@ -327,7 +327,7 @@ public abstract class MediaCodecRenderer extends BaseRenderer { @Nullable private ArrayDeque availableCodecInfos; @Nullable private DecoderInitializationException preferredDecoderInitializationException; @Nullable private MediaCodecInfo codecInfo; - @AdaptationWorkaroundMode private int codecAdaptationWorkaroundMode; + private @AdaptationWorkaroundMode int codecAdaptationWorkaroundMode; private boolean codecNeedsDiscardToSpsWorkaround; private boolean codecNeedsFlushWorkaround; private boolean codecNeedsSosFlushWorkaround; @@ -349,9 +349,9 @@ public abstract class MediaCodecRenderer extends BaseRenderer { private boolean bypassSampleBufferPending; private boolean bypassDrainAndReinitialize; private boolean codecReconfigured; - @ReconfigurationState private int codecReconfigurationState; - @DrainState private int codecDrainState; - @DrainAction private int codecDrainAction; + private @ReconfigurationState int codecReconfigurationState; + private @DrainState int codecDrainState; + private @DrainAction int codecDrainAction; private boolean codecReceivedBuffers; private boolean codecReceivedEos; private boolean codecHasOutputMediaFormat; @@ -437,14 +437,12 @@ public abstract class MediaCodecRenderer extends BaseRenderer { } @Override - @AdaptiveSupport - public final int supportsMixedMimeTypeAdaptation() { + public final @AdaptiveSupport int supportsMixedMimeTypeAdaptation() { return ADAPTIVE_NOT_SEAMLESS; } @Override - @Capabilities - public final int supportsFormat(Format format) throws ExoPlaybackException { + public final @Capabilities int supportsFormat(Format format) throws ExoPlaybackException { try { return supportsFormat(mediaCodecSelector, format); } catch (DecoderQueryException e) { @@ -460,9 +458,8 @@ public abstract class MediaCodecRenderer extends BaseRenderer { * @return The {@link Capabilities} for this {@link Format}. * @throws DecoderQueryException If there was an error querying decoders. */ - @Capabilities - protected abstract int supportsFormat(MediaCodecSelector mediaCodecSelector, Format format) - throws DecoderQueryException; + protected abstract @Capabilities int supportsFormat( + MediaCodecSelector mediaCodecSelector, Format format) throws DecoderQueryException; /** * Returns a list of decoders that can decode media in the specified format, in priority order. diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java index 3c60048f18..4aca3b8164 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/metadata/MetadataRenderer.java @@ -94,8 +94,7 @@ public final class MetadataRenderer extends BaseRenderer implements Callback { } @Override - @Capabilities - public int supportsFormat(Format format) { + public @Capabilities int supportsFormat(Format format) { if (decoderFactory.supportsFormat(format)) { return RendererCapabilities.create( format.cryptoType == C.CRYPTO_TYPE_NONE ? C.FORMAT_HANDLED : C.FORMAT_UNSUPPORTED_DRM); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/Download.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/Download.java index 9594592d6d..6eae3298d3 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/Download.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/Download.java @@ -99,7 +99,7 @@ public final class Download { /** The download request. */ public final DownloadRequest request; /** The state of the download. */ - @State public final int state; + public final @State int state; /** The first time when download entry is created. */ public final long startTimeMs; /** The last update time. */ @@ -112,7 +112,7 @@ public final class Download { * If {@link #state} is {@link #STATE_FAILED} then this is the cause, otherwise {@link * #FAILURE_REASON_NONE}. */ - @FailureReason public final int failureReason; + public final @FailureReason int failureReason; /* package */ final DownloadProgress progress; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadHelper.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadHelper.java index 0ba6bc8aa4..0d1ffa7937 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadHelper.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadHelper.java @@ -1100,8 +1100,7 @@ public final class DownloadHelper { } @Override - @C.SelectionReason - public int getSelectionReason() { + public @C.SelectionReason int getSelectionReason() { return C.SELECTION_REASON_UNKNOWN; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadManager.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadManager.java index e08e0d5bb2..2679e634f2 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadManager.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/offline/DownloadManager.java @@ -351,8 +351,7 @@ public final class DownloadManager { * * @return The not met {@link Requirements.RequirementFlags}, or 0 if all requirements are met. */ - @Requirements.RequirementFlags - public int getNotMetRequirements() { + public @Requirements.RequirementFlags int getNotMetRequirements() { return notMetRequirements; } @@ -705,7 +704,7 @@ public final class DownloadManager { private final ArrayList downloads; private final HashMap activeTasks; - @Requirements.RequirementFlags private int notMetRequirements; + private @Requirements.RequirementFlags int notMetRequirements; private boolean downloadsPaused; private int maxParallelDownloads; private int minRetryCount; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/Requirements.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/Requirements.java index 34d435bb47..4bdd389fbc 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/Requirements.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/Requirements.java @@ -74,7 +74,7 @@ public final class Requirements implements Parcelable { */ public static final int DEVICE_STORAGE_NOT_LOW = 1 << 4; - @RequirementFlags private final int requirements; + private final @RequirementFlags int requirements; /** @param requirements A combination of requirement flags. */ public Requirements(@RequirementFlags int requirements) { @@ -86,8 +86,7 @@ public final class Requirements implements Parcelable { } /** Returns the requirements. */ - @RequirementFlags - public int getRequirements() { + public @RequirementFlags int getRequirements() { return requirements; } @@ -144,8 +143,7 @@ public final class Requirements implements Parcelable { * @param context Any context. * @return The requirements that are not met, or 0. */ - @RequirementFlags - public int getNotMetRequirements(Context context) { + public @RequirementFlags int getNotMetRequirements(Context context) { @RequirementFlags int notMetRequirements = getNotMetNetworkRequirements(context); if (isChargingRequired() && !isDeviceCharging(context)) { notMetRequirements |= DEVICE_CHARGING; @@ -159,8 +157,7 @@ public final class Requirements implements Parcelable { return notMetRequirements; } - @RequirementFlags - private int getNotMetNetworkRequirements(Context context) { + private @RequirementFlags int getNotMetNetworkRequirements(Context context) { if (!isNetworkRequired()) { return 0; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/RequirementsWatcher.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/RequirementsWatcher.java index ca2380cd42..c7ae614e05 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/RequirementsWatcher.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/scheduler/RequirementsWatcher.java @@ -62,7 +62,7 @@ public final class RequirementsWatcher { @Nullable private DeviceStatusChangeReceiver receiver; - @Requirements.RequirementFlags private int notMetRequirements; + private @Requirements.RequirementFlags int notMetRequirements; @Nullable private NetworkCallback networkCallback; /** @@ -83,8 +83,7 @@ public final class RequirementsWatcher { * * @return Initial {@link Requirements.RequirementFlags RequirementFlags} that are not met, or 0. */ - @Requirements.RequirementFlags - public int start() { + public @Requirements.RequirementFlags int start() { notMetRequirements = requirements.getNotMetRequirements(context); IntentFilter filter = new IntentFilter(); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ClippingMediaSource.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ClippingMediaSource.java index 4263da5d62..6a734a752b 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ClippingMediaSource.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ClippingMediaSource.java @@ -63,7 +63,7 @@ public final class ClippingMediaSource extends CompositeMediaSource { public static final int REASON_START_EXCEEDS_END = 2; /** The reason clipping failed. */ - @Reason public final int reason; + public final @Reason int reason; /** @param reason The reason clipping failed. */ public IllegalClippingException(@Reason int reason) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/DefaultMediaSourceFactory.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/DefaultMediaSourceFactory.java index 4e2070b043..5cbc5628d4 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/DefaultMediaSourceFactory.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/DefaultMediaSourceFactory.java @@ -472,8 +472,7 @@ public final class DefaultMediaSourceFactory implements MediaSourceFactory { mediaSourceFactories = new HashMap<>(); } - @C.ContentType - public int[] getSupportedTypes() { + public @C.ContentType int[] getSupportedTypes() { ensureAllSuppliersAreLoaded(); return Ints.toArray(supportedTypes); } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MediaLoadData.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MediaLoadData.java index f3a6a04ed5..c5df2e15ea 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MediaLoadData.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MediaLoadData.java @@ -28,7 +28,7 @@ import androidx.media3.common.util.UnstableApi; public final class MediaLoadData { /** The {@link DataType data type}. */ - @DataType public final int dataType; + public final @DataType int dataType; /** * One of the {@link TrackType track types}, which is a media track type if the data corresponds * to media of a specific type, or {@link C#TRACK_TYPE_UNKNOWN} otherwise. diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MediaSourceFactory.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MediaSourceFactory.java index af34e47388..af47342210 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MediaSourceFactory.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MediaSourceFactory.java @@ -47,8 +47,7 @@ public interface MediaSourceFactory extends MediaSource.Factory { } @Override - @C.ContentType - public int[] getSupportedTypes() { + public @C.ContentType int[] getSupportedTypes() { throw new UnsupportedOperationException(); } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MergingMediaSource.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MergingMediaSource.java index c9c589fb74..8822b24268 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MergingMediaSource.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/MergingMediaSource.java @@ -61,7 +61,7 @@ public final class MergingMediaSource extends CompositeMediaSource { public static final int REASON_PERIOD_COUNT_MISMATCH = 0; /** The reason the merge failed. */ - @Reason public final int reason; + public final @Reason int reason; /** @param reason The reason the merge failed. */ public IllegalMergeException(@Reason int reason) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ProgressiveMediaPeriod.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ProgressiveMediaPeriod.java index e5e74de76e..f20a57caeb 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ProgressiveMediaPeriod.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ProgressiveMediaPeriod.java @@ -131,7 +131,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; private @MonotonicNonNull SeekMap seekMap; private long durationUs; private boolean isLive; - @DataType private int dataType; + private @DataType int dataType; private boolean seenFirstTrackSelection; private boolean notifyDiscontinuity; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SilenceMediaSource.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SilenceMediaSource.java index c783249821..d2857100fc 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SilenceMediaSource.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/SilenceMediaSource.java @@ -87,7 +87,7 @@ public final class SilenceMediaSource extends BaseMediaSource { public static final String MEDIA_ID = "SilenceMediaSource"; private static final int SAMPLE_RATE_HZ = 44100; - @C.PcmEncoding private static final int PCM_ENCODING = C.ENCODING_PCM_16BIT; + private static final @C.PcmEncoding int PCM_ENCODING = C.ENCODING_PCM_16BIT; private static final int CHANNEL_COUNT = 2; private static final Format FORMAT = new Format.Builder() diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ads/ServerSideAdInsertionMediaSource.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ads/ServerSideAdInsertionMediaSource.java index 248b7648ec..a0821d571e 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ads/ServerSideAdInsertionMediaSource.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/ads/ServerSideAdInsertionMediaSource.java @@ -847,8 +847,7 @@ public final class ServerSideAdInsertionMediaSource extends BaseMediaSource return positionUs; } - @SampleStream.ReadDataResult - public int readData( + public @SampleStream.ReadDataResult int readData( MediaPeriodImpl mediaPeriod, int streamIndex, FormatHolder formatHolder, @@ -1204,8 +1203,7 @@ public final class ServerSideAdInsertionMediaSource extends BaseMediaSource } @Override - @ReadDataResult - public int readData( + public @ReadDataResult int readData( FormatHolder formatHolder, DecoderInputBuffer buffer, @ReadFlags int readFlags) { return mediaPeriod.sharedPeriod.readData( mediaPeriod, streamIndex, formatHolder, buffer, readFlags); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/chunk/Chunk.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/chunk/Chunk.java index 09c157a9a7..7a2d8060ec 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/chunk/Chunk.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/chunk/Chunk.java @@ -42,7 +42,7 @@ public abstract class Chunk implements Loadable { /** The {@link DataSpec} that defines the data to be loaded. */ public final DataSpec dataSpec; /** The {@link DataType data type} of the chunk. For reporting only. */ - @DataType public final int type; + public final @DataType int type; /** The format of the track to which this chunk belongs. */ public final Format trackFormat; /** @@ -50,7 +50,7 @@ public abstract class Chunk implements Loadable { * C#SELECTION_REASON_UNKNOWN} if the chunk does not belong to a track, or if the selection reason * is unknown. */ - @C.SelectionReason public final int trackSelectionReason; + public final @C.SelectionReason int trackSelectionReason; /** * Optional data associated with the selection of the track to which this chunk belongs. Null if * the chunk does not belong to a track, or if there is no associated track selection data. diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/mediaparser/OutputConsumerAdapterV30.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/mediaparser/OutputConsumerAdapterV30.java index 1e4dc6014f..1b6a07874b 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/mediaparser/OutputConsumerAdapterV30.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/source/mediaparser/OutputConsumerAdapterV30.java @@ -540,8 +540,7 @@ public final class OutputConsumerAdapterV30 implements MediaParser.OutputConsume return new DrmInitData(schemeType, schemeDatas); } - @SelectionFlags - private static int getSelectionFlags(MediaFormat mediaFormat) { + private static @SelectionFlags int getSelectionFlags(MediaFormat mediaFormat) { int selectionFlags = 0; selectionFlags |= getFlag( diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/ExoplayerCuesDecoder.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/ExoplayerCuesDecoder.java index 4c668d3dc9..504b6f7843 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/ExoplayerCuesDecoder.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/ExoplayerCuesDecoder.java @@ -63,7 +63,7 @@ public final class ExoplayerCuesDecoder implements SubtitleDecoder { private final SubtitleInputBuffer inputBuffer; private final Deque availableOutputBuffers; - @InputBufferState private int inputBufferState; + private @InputBufferState int inputBufferState; private boolean released; public ExoplayerCuesDecoder() { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java index e6dac32716..af8809966a 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/text/TextRenderer.java @@ -94,7 +94,7 @@ public final class TextRenderer extends BaseRenderer implements Callback { private boolean inputStreamEnded; private boolean outputStreamEnded; private boolean waitingForKeyFrame; - @ReplacementState private int decoderReplacementState; + private @ReplacementState int decoderReplacementState; @Nullable private Format streamFormat; @Nullable private SubtitleDecoder decoder; @Nullable private SubtitleInputBuffer nextInputBuffer; @@ -141,8 +141,7 @@ public final class TextRenderer extends BaseRenderer implements Callback { } @Override - @Capabilities - public int supportsFormat(Format format) { + public @Capabilities int supportsFormat(Format format) { if (decoderFactory.supportsFormat(format)) { return RendererCapabilities.create( format.cryptoType == C.CRYPTO_TYPE_NONE ? C.FORMAT_HANDLED : C.FORMAT_UNSUPPORTED_DRM); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java index e8dc20c7e3..037304cfe2 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelector.java @@ -123,7 +123,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { private boolean allowAudioMixedChannelCountAdaptiveness; private boolean allowAudioMixedDecoderSupportAdaptiveness; // Text - @C.SelectionFlags private int disabledTextTrackSelectionFlags; + private @C.SelectionFlags int disabledTextTrackSelectionFlags; // General private boolean exceedRendererCapabilitiesIfNecessary; private boolean tunnelingEnabled; @@ -894,7 +894,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { * Bitmask of selection flags that are disabled for text track selections. See {@link * C.SelectionFlags}. The default value is {@code 0} (i.e. no flags). */ - @C.SelectionFlags public final int disabledTextTrackSelectionFlags; + public final @C.SelectionFlags int disabledTextTrackSelectionFlags; /** Returns an instance configured with default values. */ public static Parameters getDefaults(Context context) { @@ -2255,8 +2255,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { } /** Returns to what extent the track is {@link SelectionEligibility eligible for selection}. */ - @SelectionEligibility - public abstract int getSelectionEligibility(); + public abstract @SelectionEligibility int getSelectionEligibility(); /** * Returns whether this track is compatible for an adaptive selection with the specified other @@ -2308,7 +2307,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { private final int preferredRoleFlagsScore; private final boolean hasMainOrNoRoleFlag; private final boolean allowMixedMimeTypes; - @SelectionEligibility private final int selectionEligibility; + private final @SelectionEligibility int selectionEligibility; private final boolean usesPrimaryDecoder; private final boolean usesHardwareAcceleration; private final int codecPreferenceScore; @@ -2375,8 +2374,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { } @Override - @SelectionEligibility - public int getSelectionEligibility() { + public @SelectionEligibility int getSelectionEligibility() { return selectionEligibility; } @@ -2389,8 +2387,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { && this.usesHardwareAcceleration == otherTrack.usesHardwareAcceleration)); } - @SelectionEligibility - private int evaluateSelectionEligibility( + private @SelectionEligibility int evaluateSelectionEligibility( @Capabilities int rendererSupport, @AdaptiveSupport int requiredAdaptiveSupport) { if ((format.roleFlags & C.ROLE_FLAG_TRICK_PLAY) != 0) { // Ignore trick-play tracks for now. @@ -2502,7 +2499,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { return listBuilder.build(); } - @SelectionEligibility private final int selectionEligibility; + private final @SelectionEligibility int selectionEligibility; private final boolean isWithinConstraints; @Nullable private final String language; private final Parameters parameters; @@ -2594,8 +2591,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { } @Override - @SelectionEligibility - public int getSelectionEligibility() { + public @SelectionEligibility int getSelectionEligibility() { return selectionEligibility; } @@ -2664,8 +2660,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { .result(); } - @SelectionEligibility - private int evaluateSelectionEligibility( + private @SelectionEligibility int evaluateSelectionEligibility( @Capabilities int rendererSupport, boolean hasMappedVideoTracks) { if (!isSupported(rendererSupport, parameters.exceedRendererCapabilitiesIfNecessary)) { return SELECTION_ELIGIBILITY_NO; @@ -2712,7 +2707,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { return listBuilder.build(); } - @SelectionEligibility private final int selectionEligibility; + private final @SelectionEligibility int selectionEligibility; private final boolean isWithinRendererCapabilities; private final boolean isDefault; private final boolean isForced; @@ -2777,8 +2772,7 @@ public class DefaultTrackSelector extends MappingTrackSelector { } @Override - @SelectionEligibility - public int getSelectionEligibility() { + public @SelectionEligibility int getSelectionEligibility() { return selectionEligibility; } diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/MappingTrackSelector.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/MappingTrackSelector.java index 980a5a7749..d1836b7094 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/MappingTrackSelector.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/trackselection/MappingTrackSelector.java @@ -107,8 +107,8 @@ public abstract class MappingTrackSelector extends TrackSelector { private final String[] rendererNames; private final @C.TrackType int[] rendererTrackTypes; private final TrackGroupArray[] rendererTrackGroups; - @AdaptiveSupport private final int[] rendererMixedMimeTypeAdaptiveSupports; - @Capabilities private final int[][][] rendererFormatSupports; + private final @AdaptiveSupport int[] rendererMixedMimeTypeAdaptiveSupports; + private final @Capabilities int[][][] rendererFormatSupports; private final TrackGroupArray unmappedTrackGroups; /** @@ -181,8 +181,7 @@ public abstract class MappingTrackSelector extends TrackSelector { * @param rendererIndex The renderer index. * @return The {@link RendererSupport}. */ - @RendererSupport - public int getRendererSupport(int rendererIndex) { + public @RendererSupport int getRendererSupport(int rendererIndex) { @RendererSupport int bestRendererSupport = RENDERER_SUPPORT_NO_TRACKS; @Capabilities int[][] rendererFormatSupport = rendererFormatSupports[rendererIndex]; for (@Capabilities int[] trackGroupFormatSupport : rendererFormatSupport) { @@ -217,8 +216,7 @@ public abstract class MappingTrackSelector extends TrackSelector { * @param trackType The {@link C.TrackType track type}. * @return The {@link RendererSupport}. */ - @RendererSupport - public int getTypeSupport(@C.TrackType int trackType) { + public @RendererSupport int getTypeSupport(@C.TrackType int trackType) { @RendererSupport int bestRendererSupport = RENDERER_SUPPORT_NO_TRACKS; for (int i = 0; i < rendererCount; i++) { if (rendererTrackTypes[i] == trackType) { @@ -236,8 +234,7 @@ public abstract class MappingTrackSelector extends TrackSelector { * @param trackIndex The index of the track within the track group. * @return The {@link Capabilities}. */ - @Capabilities - public int getCapabilities(int rendererIndex, int groupIndex, int trackIndex) { + public @Capabilities int getCapabilities(int rendererIndex, int groupIndex, int trackIndex) { return rendererFormatSupports[rendererIndex][groupIndex][trackIndex]; } @@ -249,8 +246,7 @@ public abstract class MappingTrackSelector extends TrackSelector { * @param trackIndex The index of the track within the track group. * @return The {@link FormatSupport}. */ - @FormatSupport - public int getTrackSupport(int rendererIndex, int groupIndex, int trackIndex) { + public @FormatSupport int getTrackSupport(int rendererIndex, int groupIndex, int trackIndex) { return RendererCapabilities.getFormatSupport( getCapabilities(rendererIndex, groupIndex, trackIndex)); } @@ -272,8 +268,7 @@ public abstract class MappingTrackSelector extends TrackSelector { * renderer are included when determining support. * @return The {@link AdaptiveSupport}. */ - @AdaptiveSupport - public int getAdaptiveSupport( + public @AdaptiveSupport int getAdaptiveSupport( int rendererIndex, int groupIndex, boolean includeCapabilitiesExceededTracks) { int trackCount = rendererTrackGroups[rendererIndex].get(groupIndex).length; // Iterate over the tracks in the group, recording the indices of those to consider. @@ -299,8 +294,8 @@ public abstract class MappingTrackSelector extends TrackSelector { * @param groupIndex The index of the track group. * @return The {@link AdaptiveSupport}. */ - @AdaptiveSupport - public int getAdaptiveSupport(int rendererIndex, int groupIndex, int[] trackIndices) { + public @AdaptiveSupport int getAdaptiveSupport( + int rendererIndex, int groupIndex, int[] trackIndices) { int handledTrackCount = 0; @AdaptiveSupport int adaptiveSupport = RendererCapabilities.ADAPTIVE_SEAMLESS; boolean multipleMimeTypes = false; @@ -540,9 +535,8 @@ public abstract class MappingTrackSelector extends TrackSelector { * @return An array containing {@link Capabilities} for each track in the group. * @throws ExoPlaybackException If an error occurs determining the format support. */ - @Capabilities - private static int[] getFormatSupport(RendererCapabilities rendererCapabilities, TrackGroup group) - throws ExoPlaybackException { + private static @Capabilities int[] getFormatSupport( + RendererCapabilities rendererCapabilities, TrackGroup group) throws ExoPlaybackException { @Capabilities int[] formatSupport = new int[group.length]; for (int i = 0; i < group.length; i++) { formatSupport[i] = rendererCapabilities.supportsFormat(group.getFormat(i)); @@ -559,8 +553,7 @@ public abstract class MappingTrackSelector extends TrackSelector { * renderer. * @throws ExoPlaybackException If an error occurs determining the adaptation support. */ - @AdaptiveSupport - private static int[] getMixedMimeTypeAdaptationSupports( + private static @AdaptiveSupport int[] getMixedMimeTypeAdaptationSupports( RendererCapabilities[] rendererCapabilities) throws ExoPlaybackException { @AdaptiveSupport int[] mixedMimeTypeAdaptationSupport = new int[rendererCapabilities.length]; for (int i = 0; i < mixedMimeTypeAdaptationSupport.length; i++) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/DefaultBandwidthMeter.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/DefaultBandwidthMeter.java index 02c89e42a3..654a34d975 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/DefaultBandwidthMeter.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/DefaultBandwidthMeter.java @@ -281,14 +281,14 @@ public final class DefaultBandwidthMeter implements BandwidthMeter, TransferList private long sampleStartTimeMs; private long sampleBytesTransferred; - @C.NetworkType private int networkType; + private @C.NetworkType int networkType; private long totalElapsedTimeMs; private long totalBytesTransferred; private long bitrateEstimate; private long lastReportedBitrateEstimate; private boolean networkTypeOverrideSet; - @C.NetworkType private int networkTypeOverride; + private @C.NetworkType int networkTypeOverride; /** @deprecated Use {@link Builder} instead. */ @Deprecated diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy.java index fd40859f2d..40e5c13c2c 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/LoadErrorHandlingPolicy.java @@ -130,7 +130,7 @@ public interface LoadErrorHandlingPolicy { /** A selected fallback option. */ final class FallbackSelection { /** The type of fallback. */ - @FallbackType public final int type; + public final @FallbackType int type; /** The duration for which the failing resource should be excluded, in milliseconds. */ public final long exclusionDurationMs; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/ParsingLoadable.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/ParsingLoadable.java index 5e978e19c4..859f920713 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/ParsingLoadable.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/upstream/ParsingLoadable.java @@ -104,7 +104,7 @@ public final class ParsingLoadable implements Loadable { private final StatsDataSource dataSource; private final Parser parser; - private volatile @Nullable T result; + @Nullable private volatile T result; /** * @param dataSource A {@link DataSource} to use when loading the data. diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java index 8d2144084f..2f247237d2 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DecoderVideoRenderer.java @@ -121,7 +121,7 @@ public abstract class DecoderVideoRenderer extends BaseRenderer { private DecoderInputBuffer inputBuffer; private VideoDecoderOutputBuffer outputBuffer; - @VideoOutputMode private int outputMode; + private @VideoOutputMode int outputMode; @Nullable private Object output; @Nullable private Surface outputSurface; @Nullable private VideoDecoderOutputBufferRenderer outputBufferRenderer; @@ -130,7 +130,7 @@ public abstract class DecoderVideoRenderer extends BaseRenderer { @Nullable private DrmSession decoderDrmSession; @Nullable private DrmSession sourceDrmSession; - @ReinitializationState private int decoderReinitializationState; + private @ReinitializationState int decoderReinitializationState; private boolean decoderReceivedBuffers; private boolean renderedFirstFrameAfterReset; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DummySurface.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DummySurface.java index f225812bbb..a7819ddd25 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DummySurface.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/DummySurface.java @@ -105,8 +105,7 @@ public final class DummySurface extends Surface { } } - @SecureMode - private static int getSecureMode(Context context) { + private static @SecureMode int getSecureMode(Context context) { if (GlUtil.isProtectedContentExtensionSupported(context)) { if (GlUtil.isSurfacelessContextExtensionSupported()) { return SECURE_MODE_SURFACELESS_CONTEXT; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java index d3aa4562ec..d1114f4ca3 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/MediaCodecVideoRenderer.java @@ -131,7 +131,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { @Nullable private Surface surface; @Nullable private DummySurface dummySurface; private boolean haveReportedFirstFrameRenderedForCurrentSurface; - @C.VideoScalingMode private int scalingMode; + private @C.VideoScalingMode int scalingMode; private boolean renderedFirstFrameAfterReset; private boolean mayRenderFirstFrameAfterEnableIfNotStarted; private boolean renderedFirstFrameAfterEnable; @@ -342,8 +342,7 @@ public class MediaCodecVideoRenderer extends MediaCodecRenderer { } @Override - @Capabilities - protected int supportsFormat(MediaCodecSelector mediaCodecSelector, Format format) + protected @Capabilities int supportsFormat(MediaCodecSelector mediaCodecSelector, Format format) throws DecoderQueryException { String mimeType = format.sampleMimeType; if (!MimeTypes.isVideo(mimeType)) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoFrameReleaseHelper.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoFrameReleaseHelper.java index d5646ca11c..2735852372 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoFrameReleaseHelper.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/VideoFrameReleaseHelper.java @@ -111,7 +111,7 @@ public final class VideoFrameReleaseHelper { private float surfacePlaybackFrameRate; private float playbackSpeed; - @C.VideoChangeFrameRateStrategy private int changeFrameRateStrategy; + private @C.VideoChangeFrameRateStrategy int changeFrameRateStrategy; private long vsyncDurationNs; private long vsyncOffsetNs; diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/CameraMotionRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/CameraMotionRenderer.java index b1a222f49a..b372d03481 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/CameraMotionRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/CameraMotionRenderer.java @@ -58,8 +58,7 @@ public final class CameraMotionRenderer extends BaseRenderer { } @Override - @Capabilities - public int supportsFormat(Format format) { + public @Capabilities int supportsFormat(Format format) { return MimeTypes.APPLICATION_CAMERA_MOTION.equals(format.sampleMimeType) ? RendererCapabilities.create(C.FORMAT_HANDLED) : RendererCapabilities.create(C.FORMAT_UNSUPPORTED_TYPE); diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/ProjectionDecoder.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/ProjectionDecoder.java index 81444dd5b0..4b0acba57b 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/ProjectionDecoder.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/ProjectionDecoder.java @@ -58,7 +58,8 @@ import java.util.zip.Inflater; * @param stereoMode A {@link C.StereoMode} value. * @return The projection or null if the data can't be decoded. */ - public static @Nullable Projection decode(byte[] projectionData, @C.StereoMode int stereoMode) { + @Nullable + public static Projection decode(byte[] projectionData, @C.StereoMode int stereoMode) { ParsableByteArray input = new ParsableByteArray(projectionData); // MP4 containers include the proj box but webm containers do not. // Both containers use mshp. @@ -91,7 +92,8 @@ import java.util.zip.Inflater; return type == TYPE_PROJ; } - private static @Nullable ArrayList parseProj(ParsableByteArray input) { + @Nullable + private static ArrayList parseProj(ParsableByteArray input) { input.skipBytes(8); // size and type. int position = input.getPosition(); int limit = input.limit(); @@ -112,7 +114,8 @@ import java.util.zip.Inflater; return null; } - private static @Nullable ArrayList parseMshp(ParsableByteArray input) { + @Nullable + private static ArrayList parseMshp(ParsableByteArray input) { int version = input.readUnsignedByte(); if (version != 0) { return null; @@ -137,7 +140,8 @@ import java.util.zip.Inflater; } /** Parses MSHP data after the encoding_four_cc field. */ - private static @Nullable ArrayList parseRawMshpData(ParsableByteArray input) { + @Nullable + private static ArrayList parseRawMshpData(ParsableByteArray input) { ArrayList meshes = new ArrayList<>(); int position = input.getPosition(); int limit = input.limit(); @@ -160,7 +164,8 @@ import java.util.zip.Inflater; return meshes; } - private static @Nullable Mesh parseMesh(ParsableByteArray input) { + @Nullable + private static Mesh parseMesh(ParsableByteArray input) { // Read the coordinates. int coordinateCount = input.readInt(); if (coordinateCount > MAX_COORDINATE_COUNT) { diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SceneRenderer.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SceneRenderer.java index b31cfa98ab..b2828a465e 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SceneRenderer.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/video/spherical/SceneRenderer.java @@ -50,8 +50,8 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; private @MonotonicNonNull SurfaceTexture surfaceTexture; // Used by other threads only - @C.StereoMode private volatile int defaultStereoMode; - @C.StereoMode private int lastStereoMode; + private volatile @C.StereoMode int defaultStereoMode; + private @C.StereoMode int lastStereoMode; @Nullable private byte[] lastProjectionData; // Methods called on any thread. diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java index cc444ebb0f..0961f4492d 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/ExoPlayerTest.java @@ -11488,7 +11488,7 @@ public final class ExoPlayerTest { private static final class PlayerStateGrabber extends PlayerRunnable { public boolean playWhenReady; - @Player.State public int playbackState; + public @Player.State int playbackState; @Nullable public Timeline timeline; @Override diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DecoderAudioRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DecoderAudioRendererTest.java index dbf9c8dfc6..f0009b7ceb 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DecoderAudioRendererTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DecoderAudioRendererTest.java @@ -71,8 +71,7 @@ public class DecoderAudioRendererTest { } @Override - @C.FormatSupport - protected int supportsFormatInternal(Format format) { + protected @C.FormatSupport int supportsFormatInternal(Format format) { return FORMAT_HANDLED; } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DefaultAudioTrackBufferSizeProviderTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DefaultAudioTrackBufferSizeProviderTest.java index 8916391b8b..59b41fdc0e 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DefaultAudioTrackBufferSizeProviderTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/audio/DefaultAudioTrackBufferSizeProviderTest.java @@ -44,8 +44,7 @@ public class DefaultAudioTrackBufferSizeProviderTest { public static class PcmTest { @Parameterized.Parameter(0) - @C.PcmEncoding - public int encoding; + public @C.PcmEncoding int encoding; @Parameterized.Parameter(1) public int channelCount; @@ -216,8 +215,7 @@ public class DefaultAudioTrackBufferSizeProviderTest { public static class EncodedTest { @Parameterized.Parameter(0) - @C.Encoding - public int encoding; + public @C.Encoding int encoding; @Parameterized.Parameters(name = "{index}: encoding={0}") public static ImmutableList data() { diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelectorTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelectorTest.java index 5c85327510..a5514c7068 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelectorTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/DefaultTrackSelectorTest.java @@ -2416,7 +2416,7 @@ public final class DefaultTrackSelectorTest { private static final class FakeRendererCapabilities implements RendererCapabilities { private final int trackType; - @Capabilities private final int supportValue; + private final @Capabilities int supportValue; /** * Returns {@link FakeRendererCapabilities} that advertises adaptive support for all tracks of @@ -2456,16 +2456,14 @@ public final class DefaultTrackSelectorTest { } @Override - @Capabilities - public int supportsFormat(Format format) { + public @Capabilities int supportsFormat(Format format) { return MimeTypes.getTrackType(format.sampleMimeType) == trackType ? supportValue : RendererCapabilities.create(C.FORMAT_UNSUPPORTED_TYPE); } @Override - @AdaptiveSupport - public int supportsMixedMimeTypeAdaptation() { + public @AdaptiveSupport int supportsMixedMimeTypeAdaptation() { return ADAPTIVE_SEAMLESS; } } @@ -2504,16 +2502,14 @@ public final class DefaultTrackSelectorTest { } @Override - @Capabilities - public int supportsFormat(Format format) { + public @Capabilities int supportsFormat(Format format) { return format.id != null && formatToCapability.containsKey(format.id) ? formatToCapability.get(format.id) : RendererCapabilities.create(C.FORMAT_UNSUPPORTED_TYPE); } @Override - @AdaptiveSupport - public int supportsMixedMimeTypeAdaptation() { + public @AdaptiveSupport int supportsMixedMimeTypeAdaptation() { return ADAPTIVE_SEAMLESS; } } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/MappingTrackSelectorTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/MappingTrackSelectorTest.java index 4885587d6b..32023b11e2 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/MappingTrackSelectorTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/trackselection/MappingTrackSelectorTest.java @@ -245,8 +245,7 @@ public final class MappingTrackSelectorTest { } @Override - @Capabilities - public int supportsFormat(Format format) throws ExoPlaybackException { + public @Capabilities int supportsFormat(Format format) throws ExoPlaybackException { return MimeTypes.getTrackType(format.sampleMimeType) == trackType ? RendererCapabilities.create( C.FORMAT_HANDLED, ADAPTIVE_SEAMLESS, TUNNELING_NOT_SUPPORTED) @@ -254,8 +253,7 @@ public final class MappingTrackSelectorTest { } @Override - @AdaptiveSupport - public int supportsMixedMimeTypeAdaptation() throws ExoPlaybackException { + public @AdaptiveSupport int supportsMixedMimeTypeAdaptation() throws ExoPlaybackException { return ADAPTIVE_SEAMLESS; } } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/DecoderVideoRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/DecoderVideoRendererTest.java index c8d195f9b8..95a9a67b61 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/DecoderVideoRendererTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/DecoderVideoRendererTest.java @@ -84,7 +84,7 @@ public final class DecoderVideoRendererTest { /* maxDroppedFramesToNotify= */ -1) { private final Phaser inputBuffersInCodecPhaser = new Phaser(); - @C.VideoOutputMode private int outputMode; + private @C.VideoOutputMode int outputMode; @Override public String getName() { @@ -92,8 +92,7 @@ public final class DecoderVideoRendererTest { } @Override - @Capabilities - public int supportsFormat(Format format) { + public @Capabilities int supportsFormat(Format format) { return RendererCapabilities.create(C.FORMAT_HANDLED); } diff --git a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/MediaCodecVideoRendererTest.java b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/MediaCodecVideoRendererTest.java index b1df16d07a..d12739b2b4 100644 --- a/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/MediaCodecVideoRendererTest.java +++ b/libraries/exoplayer/src/test/java/androidx/media3/exoplayer/video/MediaCodecVideoRendererTest.java @@ -111,8 +111,8 @@ public class MediaCodecVideoRendererTest { /* eventListener= */ eventListener, /* maxDroppedFramesToNotify= */ 1) { @Override - @Capabilities - protected int supportsFormat(MediaCodecSelector mediaCodecSelector, Format format) { + protected @Capabilities int supportsFormat( + MediaCodecSelector mediaCodecSelector, Format format) { return RendererCapabilities.create(C.FORMAT_HANDLED); } diff --git a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaPeriod.java b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaPeriod.java index be20b5e054..23b9262cf0 100644 --- a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaPeriod.java +++ b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/DashMediaPeriod.java @@ -937,7 +937,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; public final int[] adaptationSetIndices; public final @C.TrackType int trackType; - @TrackGroupCategory public final int trackGroupCategory; + public final @TrackGroupCategory int trackGroupCategory; public final int eventStreamGroupIndex; public final int primaryTrackGroupIndex; diff --git a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java index 9ca9fc2102..6ee1ab5d6c 100644 --- a/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java +++ b/libraries/exoplayer_dash/src/main/java/androidx/media3/exoplayer/dash/manifest/DashManifestParser.java @@ -1481,8 +1481,8 @@ public class DashManifestParser extends DefaultHandler // Selection flag parsing. - @C.SelectionFlags - protected int parseSelectionFlagsFromRoleDescriptors(List roleDescriptors) { + protected @C.SelectionFlags int parseSelectionFlagsFromRoleDescriptors( + List roleDescriptors) { @C.SelectionFlags int result = 0; for (int i = 0; i < roleDescriptors.size(); i++) { Descriptor descriptor = roleDescriptors.get(i); @@ -1493,8 +1493,7 @@ public class DashManifestParser extends DefaultHandler return result; } - @C.SelectionFlags - protected int parseSelectionFlagsFromDashRoleScheme(@Nullable String value) { + protected @C.SelectionFlags int parseSelectionFlagsFromDashRoleScheme(@Nullable String value) { if (value == null) { return 0; } @@ -1510,8 +1509,7 @@ public class DashManifestParser extends DefaultHandler // Role and Accessibility parsing. - @C.RoleFlags - protected int parseRoleFlagsFromRoleDescriptors(List roleDescriptors) { + protected @C.RoleFlags int parseRoleFlagsFromRoleDescriptors(List roleDescriptors) { @C.RoleFlags int result = 0; for (int i = 0; i < roleDescriptors.size(); i++) { Descriptor descriptor = roleDescriptors.get(i); @@ -1522,8 +1520,7 @@ public class DashManifestParser extends DefaultHandler return result; } - @C.RoleFlags - protected int parseRoleFlagsFromAccessibilityDescriptors( + protected @C.RoleFlags int parseRoleFlagsFromAccessibilityDescriptors( List accessibilityDescriptors) { @C.RoleFlags int result = 0; for (int i = 0; i < accessibilityDescriptors.size(); i++) { @@ -1538,8 +1535,8 @@ public class DashManifestParser extends DefaultHandler return result; } - @C.RoleFlags - protected int parseRoleFlagsFromProperties(List accessibilityDescriptors) { + protected @C.RoleFlags int parseRoleFlagsFromProperties( + List accessibilityDescriptors) { @C.RoleFlags int result = 0; for (int i = 0; i < accessibilityDescriptors.size(); i++) { Descriptor descriptor = accessibilityDescriptors.get(i); @@ -1551,8 +1548,7 @@ public class DashManifestParser extends DefaultHandler return result; } - @C.RoleFlags - protected int parseRoleFlagsFromDashRoleScheme(@Nullable String value) { + protected @C.RoleFlags int parseRoleFlagsFromDashRoleScheme(@Nullable String value) { if (value == null) { return 0; } @@ -1587,8 +1583,7 @@ public class DashManifestParser extends DefaultHandler } } - @C.RoleFlags - protected int parseTvaAudioPurposeCsValue(@Nullable String value) { + protected @C.RoleFlags int parseTvaAudioPurposeCsValue(@Nullable String value) { if (value == null) { return 0; } diff --git a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/DefaultHlsExtractorFactory.java b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/DefaultHlsExtractorFactory.java index 684bf120ed..aec437e327 100644 --- a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/DefaultHlsExtractorFactory.java +++ b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/DefaultHlsExtractorFactory.java @@ -62,7 +62,7 @@ public final class DefaultHlsExtractorFactory implements HlsExtractorFactory { FileTypes.MP3, }; - @DefaultTsPayloadReaderFactory.Flags private final int payloadReaderFactoryFlags; + private final @DefaultTsPayloadReaderFactory.Flags int payloadReaderFactoryFlags; private final boolean exposeCea608WhenMissingDeclarations; /** diff --git a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsChunkSource.java b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsChunkSource.java index e054b113ca..b843ae48d6 100644 --- a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsChunkSource.java +++ b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/HlsChunkSource.java @@ -303,8 +303,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; * has been {@link #CHUNK_PUBLICATION_STATE_REMOVED removed} or is definitely {@link * #CHUNK_PUBLICATION_STATE_PUBLISHED published}. */ - @ChunkPublicationState - public int getChunkPublicationState(HlsMediaChunk mediaChunk) { + public @ChunkPublicationState int getChunkPublicationState(HlsMediaChunk mediaChunk) { if (mediaChunk.partIndex == C.INDEX_UNSET) { // Chunks based on full segments can't be removed and are always published. return CHUNK_PUBLICATION_STATE_PUBLISHED; diff --git a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.java b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.java index c6a43c9eec..fb2444d4bb 100644 --- a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.java +++ b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/HlsMediaPlaylist.java @@ -398,7 +398,7 @@ public final class HlsMediaPlaylist extends HlsPlaylist { public static final int PLAYLIST_TYPE_EVENT = 2; /** The type of the playlist. See {@link PlaylistType}. */ - @PlaylistType public final int playlistType; + public final @PlaylistType int playlistType; /** * The start offset in microseconds from the beginning of the playlist, as defined by * #EXT-X-START, or {@link C#TIME_UNSET} if undefined. The value is guaranteed to be between 0 and diff --git a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/HlsPlaylistParser.java b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/HlsPlaylistParser.java index c1e48a068b..63850c72a0 100644 --- a/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/HlsPlaylistParser.java +++ b/libraries/exoplayer_hls/src/main/java/androidx/media3/exoplayer/hls/playlist/HlsPlaylistParser.java @@ -1087,8 +1087,7 @@ public final class HlsPlaylistParser implements ParsingLoadable.Parser variableDefinitions) { + private static @C.RoleFlags int parseRoleFlags( + String line, Map variableDefinitions) { String concatenatedCharacteristics = parseOptionalStringAttr(line, REGEX_CHARACTERISTICS, variableDefinitions); if (TextUtils.isEmpty(concatenatedCharacteristics)) { diff --git a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java index b55ec3b9ac..d4176e67fc 100644 --- a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java +++ b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/AdTagLoader.java @@ -162,7 +162,7 @@ import java.util.Map; /** Whether IMA has sent an ad event to pause content since the last resume content event. */ private boolean imaPausedContent; /** The current ad playback state. */ - @ImaAdState private int imaAdState; + private @ImaAdState int imaAdState; /** The current ad media info, or {@code null} if in state {@link #IMA_AD_STATE_NONE}. */ @Nullable private AdMediaInfo imaAdMediaInfo; /** The current ad info, or {@code null} if in state {@link #IMA_AD_STATE_NONE}. */ diff --git a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ServerSideAdInsertionStreamRequest.java b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ServerSideAdInsertionStreamRequest.java index f9026648d2..d8a2345210 100644 --- a/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ServerSideAdInsertionStreamRequest.java +++ b/libraries/exoplayer_ima/src/main/java/androidx/media3/exoplayer/ima/ServerSideAdInsertionStreamRequest.java @@ -51,7 +51,7 @@ import java.util.Map; @Nullable private String authToken; @Nullable private String streamActivityMonitorId; private ImmutableMap adTagParameters; - @ContentType public int format = C.TYPE_HLS; + public @ContentType int format = C.TYPE_HLS; private int loadVideoTimeoutMs; /** Creates a new instance. */ @@ -270,7 +270,7 @@ import java.util.Map; @Nullable public final String contentUrl; @Nullable public final String authToken; @Nullable public final String streamActivityMonitorId; - @ContentType public int format = C.TYPE_HLS; + public @ContentType int format = C.TYPE_HLS; public final int loadVideoTimeoutMs; private ServerSideAdInsertionStreamRequest( diff --git a/libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/FakeExoPlayer.java b/libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/FakeExoPlayer.java index 4d1fd431e7..6a9602c976 100644 --- a/libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/FakeExoPlayer.java +++ b/libraries/exoplayer_ima/src/test/java/androidx/media3/exoplayer/ima/FakeExoPlayer.java @@ -42,7 +42,7 @@ import androidx.media3.test.utils.StubExoPlayer; private final MediaItem mediaItem = MediaItem.fromUri("http://google.com/0"); private Timeline timeline; - @Player.State private int state; + private @Player.State int state; private boolean playWhenReady; private int periodIndex; private long positionMs; @@ -236,8 +236,7 @@ import androidx.media3.test.utils.StubExoPlayer; } @Override - @Player.State - public int getPlaybackState() { + public @Player.State int getPlaybackState() { return state; } @@ -247,8 +246,7 @@ import androidx.media3.test.utils.StubExoPlayer; } @Override - @RepeatMode - public int getRepeatMode() { + public @RepeatMode int getRepeatMode() { return REPEAT_MODE_OFF; } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspAuthenticationInfo.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspAuthenticationInfo.java index ecb9994f3f..0ecdbc9fe4 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspAuthenticationInfo.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspAuthenticationInfo.java @@ -56,7 +56,7 @@ import java.security.NoSuchAlgorithmException; private static final String ALGORITHM = "MD5"; /** The authentication mechanism. */ - @AuthenticationMechanism public final int authenticationMechanism; + public final @AuthenticationMechanism int authenticationMechanism; /** The authentication realm. */ public final String realm; /** The nonce used in digest authentication; empty if using {@link #BASIC} authentication. */ diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java index e8b3fe7867..84bcc4cd8d 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspClient.java @@ -141,7 +141,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; @Nullable private String sessionId; @Nullable private KeepAliveMonitor keepAliveMonitor; @Nullable private RtspAuthenticationInfo rtspAuthenticationInfo; - @RtspState private int rtspState; + private @RtspState int rtspState; private boolean hasUpdatedTimelineAndTracks; private boolean receivedAuthorizationRequest; private boolean hasPendingPauseRequest; @@ -204,8 +204,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; } /** Returns the current {@link RtspState RTSP state}. */ - @RtspState - public int getState() { + public @RtspState int getState() { return rtspState; } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java index b0ba5c4c5e..28084cdef6 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMediaPeriod.java @@ -775,8 +775,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; return sampleQueue.isReady(/* loadingFinished= */ canceled); } - @ReadDataResult - public int read( + public @ReadDataResult int read( FormatHolder formatHolder, DecoderInputBuffer buffer, @ReadFlags int readFlags) { return sampleQueue.read(formatHolder, buffer, readFlags, /* loadingFinished= */ canceled); } diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageChannel.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageChannel.java index dda52e8f98..a2d5970431 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageChannel.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageChannel.java @@ -353,7 +353,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; private final List messageLines; - @ReadingState private int state; + private @ReadingState int state; private long messageBodyLength; /** Creates a new instance. */ diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageUtil.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageUtil.java index e05b4c6469..db1e4116ea 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageUtil.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspMessageUtil.java @@ -256,8 +256,7 @@ import java.util.regex.Pattern; } } - @RtspRequest.Method - private static int parseMethodString(String method) { + private static @RtspRequest.Method int parseMethodString(String method) { switch (method) { case "ANNOUNCE": return METHOD_ANNOUNCE; diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspRequest.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspRequest.java index 6d9e5f35e8..23cff58977 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspRequest.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/RtspRequest.java @@ -88,7 +88,7 @@ import java.lang.annotation.Target; /** The {@link Uri} to which this request is sent. */ public final Uri uri; /** The request method, as defined in {@link Method}. */ - @Method public final int method; + public final @Method int method; /** The headers of this request. */ public final RtspHeaders headers; /** The body of this RTSP message, or empty string if absent. */ diff --git a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH264Reader.java b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH264Reader.java index 6895010b75..659a28f70f 100644 --- a/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH264Reader.java +++ b/libraries/exoplayer_rtsp/src/main/java/androidx/media3/exoplayer/rtsp/reader/RtpH264Reader.java @@ -58,7 +58,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; private final RtpPayloadFormat payloadFormat; private @MonotonicNonNull TrackOutput trackOutput; - @C.BufferFlags private int bufferFlags; + private @C.BufferFlags int bufferFlags; private long firstReceivedTimestamp; private int previousSequenceNumber; @@ -296,8 +296,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; /* divisor= */ MEDIA_CLOCK_FREQUENCY); } - @C.BufferFlags - private static int getBufferFlagsFromNalType(int nalType) { + private static @C.BufferFlags int getBufferFlagsFromNalType(int nalType) { return nalType == NAL_UNIT_TYPE_IDR ? C.BUFFER_FLAG_KEY_FRAME : 0; } } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/BinarySearchSeeker.java b/libraries/extractor/src/main/java/androidx/media3/extractor/BinarySearchSeeker.java index 1ff09dfdff..a8bcb676a6 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/BinarySearchSeeker.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/BinarySearchSeeker.java @@ -423,7 +423,7 @@ public abstract class BinarySearchSeeker { new TimestampSearchResult(TYPE_NO_TIMESTAMP, C.TIME_UNSET, C.POSITION_UNSET); /** The type of the result. */ - @Type private final int type; + private final @Type int type; /** * When {@link #type} is {@link #TYPE_POSITION_OVERESTIMATED}, the {@link diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/DefaultExtractorsFactory.java b/libraries/extractor/src/main/java/androidx/media3/extractor/DefaultExtractorsFactory.java index f5ee3432f1..5470d906a8 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/DefaultExtractorsFactory.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/DefaultExtractorsFactory.java @@ -107,15 +107,15 @@ public final class DefaultExtractorsFactory implements ExtractorsFactory { private boolean constantBitrateSeekingEnabled; private boolean constantBitrateSeekingAlwaysEnabled; - @AdtsExtractor.Flags private int adtsFlags; - @AmrExtractor.Flags private int amrFlags; - @FlacExtractor.Flags private int flacFlags; - @MatroskaExtractor.Flags private int matroskaFlags; - @Mp4Extractor.Flags private int mp4Flags; - @FragmentedMp4Extractor.Flags private int fragmentedMp4Flags; - @Mp3Extractor.Flags private int mp3Flags; - @TsExtractor.Mode private int tsMode; - @DefaultTsPayloadReaderFactory.Flags private int tsFlags; + private @AdtsExtractor.Flags int adtsFlags; + private @AmrExtractor.Flags int amrFlags; + private @FlacExtractor.Flags int flacFlags; + private @MatroskaExtractor.Flags int matroskaFlags; + private @Mp4Extractor.Flags int mp4Flags; + private @FragmentedMp4Extractor.Flags int fragmentedMp4Flags; + private @Mp3Extractor.Flags int mp3Flags; + private @TsExtractor.Mode int tsMode; + private @DefaultTsPayloadReaderFactory.Flags int tsFlags; private int tsTimestampSearchBytes; public DefaultExtractorsFactory() { diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/TrackOutput.java b/libraries/extractor/src/main/java/androidx/media3/extractor/TrackOutput.java index 710e11a7ad..e479c27aac 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/TrackOutput.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/TrackOutput.java @@ -40,7 +40,7 @@ public interface TrackOutput { final class CryptoData { /** The encryption mode used for the sample. */ - @C.CryptoMode public final int cryptoMode; + public final @C.CryptoMode int cryptoMode; /** The encryption key associated with the sample. Its contents must not be modified. */ public final byte[] encryptionKey; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/TrueHdSampleRechunker.java b/libraries/extractor/src/main/java/androidx/media3/extractor/TrueHdSampleRechunker.java index 93f675fb5f..53f5db50ad 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/TrueHdSampleRechunker.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/TrueHdSampleRechunker.java @@ -33,7 +33,7 @@ public final class TrueHdSampleRechunker { private boolean foundSyncframe; private int chunkSampleCount; private long chunkTimeUs; - @C.BufferFlags private int chunkFlags; + private @C.BufferFlags int chunkFlags; private int chunkSize; private int chunkOffset; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/jpeg/JpegExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/jpeg/JpegExtractor.java index 700d5538f7..3d2cca8171 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/jpeg/JpegExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/jpeg/JpegExtractor.java @@ -84,7 +84,7 @@ public final class JpegExtractor implements Extractor { private @MonotonicNonNull ExtractorOutput extractorOutput; - @State private int state; + private @State int state; private int marker; private int segmentLength; private long mp4StartPosition; @@ -128,8 +128,8 @@ public final class JpegExtractor implements Extractor { } @Override - @ReadResult - public int read(ExtractorInput input, PositionHolder seekPosition) throws IOException { + public @ReadResult int read(ExtractorInput input, PositionHolder seekPosition) + throws IOException { switch (state) { case STATE_READING_MARKER: readMarker(input); diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mkv/MatroskaExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mkv/MatroskaExtractor.java index 6442ad7993..5f4d246a9f 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mkv/MatroskaExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mkv/MatroskaExtractor.java @@ -431,7 +431,7 @@ public class MatroskaExtractor implements Extractor { private int[] blockSampleSizes; private int blockTrackNumber; private int blockTrackNumberLength; - @C.BufferFlags private int blockFlags; + private @C.BufferFlags int blockFlags; private int blockAdditionalId; private boolean blockHasReferenceBlock; @@ -531,8 +531,7 @@ public class MatroskaExtractor implements Extractor { * @see EbmlProcessor#getElementType(int) */ @CallSuper - @EbmlProcessor.ElementType - protected int getElementType(int id) { + protected @EbmlProcessor.ElementType int getElementType(int id) { switch (id) { case ID_EBML: case ID_SEGMENT: @@ -1908,8 +1907,7 @@ public class MatroskaExtractor implements Extractor { private final class InnerEbmlProcessor implements EbmlProcessor { @Override - @ElementType - public int getElementType(int id) { + public @ElementType int getElementType(int id) { return MatroskaExtractor.this.getElementType(id); } @@ -1981,16 +1979,16 @@ public class MatroskaExtractor implements Extractor { public int displayWidth = Format.NO_VALUE; public int displayHeight = Format.NO_VALUE; public int displayUnit = DISPLAY_UNIT_PIXELS; - @C.Projection public int projectionType = Format.NO_VALUE; + public @C.Projection int projectionType = Format.NO_VALUE; public float projectionPoseYaw = 0f; public float projectionPosePitch = 0f; public float projectionPoseRoll = 0f; public byte @MonotonicNonNull [] projectionData = null; - @C.StereoMode public int stereoMode = Format.NO_VALUE; + public @C.StereoMode int stereoMode = Format.NO_VALUE; public boolean hasColorInfo = false; - @C.ColorSpace public int colorSpace = Format.NO_VALUE; - @C.ColorTransfer public int colorTransfer = Format.NO_VALUE; - @C.ColorRange public int colorRange = Format.NO_VALUE; + public @C.ColorSpace int colorSpace = Format.NO_VALUE; + public @C.ColorTransfer int colorTransfer = Format.NO_VALUE; + public @C.ColorRange int colorRange = Format.NO_VALUE; public int maxContentLuminance = DEFAULT_MAX_CLL; public int maxFrameAverageLuminance = DEFAULT_MAX_FALL; public float primaryRChromaticityX = Format.NO_VALUE; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp3/Mp3Extractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp3/Mp3Extractor.java index 936c7be490..53ae30f9ee 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp3/Mp3Extractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp3/Mp3Extractor.java @@ -142,7 +142,7 @@ public final class Mp3Extractor implements Extractor { private static final int SEEK_HEADER_VBRI = 0x56425249; private static final int SEEK_HEADER_UNSET = 0; - @Flags private final int flags; + private final @Flags int flags; private final long forcedFirstSampleTimestampUs; private final ParsableByteArray scratch; private final MpegAudioUtil.Header synchronizedHeader; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java index 985255a1b9..bd34ba5970 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/AtomParsers.java @@ -1910,7 +1910,7 @@ import org.checkerframework.checker.nullness.compatqual.NullableType; @Nullable public Format format; public int nalUnitLengthFieldLength; - @Track.Transformation public int requiredSampleTransformation; + public @Track.Transformation int requiredSampleTransformation; public StsdData(int numberOfEntries) { trackEncryptionBoxes = new TrackEncryptionBox[numberOfEntries]; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/FragmentedMp4Extractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/FragmentedMp4Extractor.java index dc83015d88..36284771d1 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/FragmentedMp4Extractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/FragmentedMp4Extractor.java @@ -132,7 +132,7 @@ public class FragmentedMp4Extractor implements Extractor { private static final int STATE_READING_SAMPLE_CONTINUE = 4; // Workarounds. - @Flags private final int flags; + private final @Flags int flags; @Nullable private final Track sideloadedTrack; // Sideloaded data. @@ -1689,8 +1689,7 @@ public class FragmentedMp4Extractor implements Extractor { } /** Returns the {@link C.BufferFlags} corresponding to the current sample. */ - @C.BufferFlags - public int getCurrentSampleFlags() { + public @C.BufferFlags int getCurrentSampleFlags() { int flags = !currentlyInFragment ? moovSampleTable.flags[currentSampleIndex] diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Mp4Extractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Mp4Extractor.java index b2b8bc74a3..e839cf1e9e 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Mp4Extractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Mp4Extractor.java @@ -141,7 +141,7 @@ public final class Mp4Extractor implements Extractor, SeekMap { */ private static final long MAXIMUM_READ_AHEAD_BYTES_STREAM = 10 * 1024 * 1024; - @Flags private final int flags; + private final @Flags int flags; // Temporary arrays. private final ParsableByteArray nalStartCode; @@ -153,7 +153,7 @@ public final class Mp4Extractor implements Extractor, SeekMap { private final SefReader sefReader; private final List slowMotionMetadataEntries; - @State private int parserState; + private @State int parserState; private int atomType; private long atomSize; private int atomHeaderBytesRead; @@ -171,7 +171,7 @@ public final class Mp4Extractor implements Extractor, SeekMap { private long @MonotonicNonNull [][] accumulatedSampleSizes; private int firstVideoTrackIndex; private long durationUs; - @FileType private int fileType; + private @FileType int fileType; @Nullable private MotionPhotoMetadata motionPhotoMetadata; /** Creates a new extractor for unfragmented MP4 streams. */ @@ -438,8 +438,8 @@ public final class Mp4Extractor implements Extractor, SeekMap { return seekRequired && parserState != STATE_READING_SAMPLE; } - @ReadResult - private int readSefData(ExtractorInput input, PositionHolder seekPosition) throws IOException { + private @ReadResult int readSefData(ExtractorInput input, PositionHolder seekPosition) + throws IOException { @ReadResult int result = sefReader.read(input, seekPosition, slowMotionMetadataEntries); if (result == RESULT_SEEK && seekPosition.position == 0) { enterReadingAtomHeaderState(); @@ -861,8 +861,7 @@ public final class Mp4Extractor implements Extractor, SeekMap { * @param atomData The ftyp atom data. * @return The {@link FileType}. */ - @FileType - private static int processFtypAtom(ParsableByteArray atomData) { + private static @FileType int processFtypAtom(ParsableByteArray atomData) { atomData.setPosition(Atom.HEADER_SIZE); int majorBrand = atomData.readInt(); @FileType int fileType = brandToFileType(majorBrand); @@ -879,8 +878,7 @@ public final class Mp4Extractor implements Extractor, SeekMap { return FILE_TYPE_MP4; } - @FileType - private static int brandToFileType(int brand) { + private static @FileType int brandToFileType(int brand) { switch (brand) { case BRAND_QUICKTIME: return FILE_TYPE_QUICKTIME; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/SefReader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/SefReader.java index 84170809eb..b5161fbf1e 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/SefReader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/SefReader.java @@ -97,7 +97,7 @@ import java.util.List; private static final Splitter ASTERISK_SPLITTER = Splitter.on('*'); private final List dataReferences; - @State private int readerState; + private @State int readerState; private int tailLength; public SefReader() { @@ -110,8 +110,7 @@ import java.util.List; readerState = STATE_SHOULD_CHECK_FOR_SEF; } - @Extractor.ReadResult - public int read( + public @Extractor.ReadResult int read( ExtractorInput input, PositionHolder seekPosition, List slowMotionMetadataEntries) @@ -250,8 +249,7 @@ import java.util.List; return new SlowMotionData(segments); } - @DataType - private static int nameToDataType(String name) throws ParserException { + private static @DataType int nameToDataType(String name) throws ParserException { switch (name) { case "SlowMotion_Data": return TYPE_SLOW_MOTION_DATA; @@ -269,7 +267,7 @@ import java.util.List; } private static final class DataReference { - @DataType public final int dataType; + public final @DataType int dataType; public final long startOffset; public final int size; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Track.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Track.java index 2259bbae86..adf6c8db59 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Track.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/Track.java @@ -69,7 +69,7 @@ public final class Track { * One of {@code TRANSFORMATION_*}. Defines the transformation to apply before outputting each * sample. */ - @Transformation public final int sampleTransformation; + public final @Transformation int sampleTransformation; /** Durations of edit list segments in the movie timescale. Null if there is no edit list. */ @Nullable public final long[] editListDurations; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/TrackEncryptionBox.java b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/TrackEncryptionBox.java index 8791a4fe5c..6ef108cd30 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/TrackEncryptionBox.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/mp4/TrackEncryptionBox.java @@ -79,8 +79,7 @@ public final class TrackEncryptionBox { schemeToCryptoMode(schemeType), keyId, defaultEncryptedBlocks, defaultClearBlocks); } - @C.CryptoMode - private static int schemeToCryptoMode(@Nullable String schemeType) { + private static @C.CryptoMode int schemeToCryptoMode(@Nullable String schemeType) { if (schemeType == null) { // If unknown, assume cenc. return C.CRYPTO_MODE_AES_CTR; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/SubtitleExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/SubtitleExtractor.java index 46720375d1..df43d16ae5 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/SubtitleExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/SubtitleExtractor.java @@ -87,7 +87,7 @@ public class SubtitleExtractor implements Extractor { private @MonotonicNonNull ExtractorOutput extractorOutput; private @MonotonicNonNull TrackOutput trackOutput; private int bytesRead; - @State private int state; + private @State int state; private long seekTimeUs; /** diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaDecoder.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaDecoder.java index 5c24fd14f0..3871ac6676 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaDecoder.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaDecoder.java @@ -409,8 +409,7 @@ public final class SsaDecoder extends SimpleSubtitleDecoder { } } - @Cue.AnchorType - private static int toLineAnchor(@SsaStyle.SsaAlignment int alignment) { + private static @Cue.AnchorType int toLineAnchor(@SsaStyle.SsaAlignment int alignment) { switch (alignment) { case SsaStyle.SSA_ALIGNMENT_BOTTOM_LEFT: case SsaStyle.SSA_ALIGNMENT_BOTTOM_CENTER: @@ -432,8 +431,7 @@ public final class SsaDecoder extends SimpleSubtitleDecoder { } } - @Cue.AnchorType - private static int toPositionAnchor(@SsaStyle.SsaAlignment int alignment) { + private static @Cue.AnchorType int toPositionAnchor(@SsaStyle.SsaAlignment int alignment) { switch (alignment) { case SsaStyle.SSA_ALIGNMENT_BOTTOM_LEFT: case SsaStyle.SSA_ALIGNMENT_MIDDLE_LEFT: diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaStyle.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaStyle.java index 7bfd5785a5..08461769f7 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaStyle.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ssa/SsaStyle.java @@ -93,7 +93,7 @@ import java.util.regex.Pattern; public static final int SSA_ALIGNMENT_TOP_RIGHT = 9; public final String name; - @SsaAlignment public final int alignment; + public final @SsaAlignment int alignment; @Nullable @ColorInt public final Integer primaryColor; public final float fontSize; public final boolean bold; @@ -158,8 +158,7 @@ import java.util.regex.Pattern; } } - @SsaAlignment - private static int parseAlignment(String alignmentStr) { + private static @SsaAlignment int parseAlignment(String alignmentStr) { try { @SsaAlignment int alignment = Integer.parseInt(alignmentStr.trim()); if (isValidAlignment(alignment)) { @@ -373,7 +372,7 @@ import java.util.regex.Pattern; /** Matches "\anx" and returns x in group 1 */ private static final Pattern ALIGNMENT_OVERRIDE_PATTERN = Pattern.compile("\\\\an(\\d+)"); - @SsaAlignment public final int alignment; + public final @SsaAlignment int alignment; @Nullable public final PointF position; private Overrides(@SsaAlignment int alignment, @Nullable PointF position) { @@ -451,8 +450,7 @@ import java.util.regex.Pattern; Float.parseFloat(Assertions.checkNotNull(y).trim())); } - @SsaAlignment - private static int parseAlignmentOverride(String braceContents) { + private static @SsaAlignment int parseAlignmentOverride(String braceContents) { Matcher matcher = ALIGNMENT_OVERRIDE_PATTERN.matcher(braceContents); return matcher.find() ? parseAlignment(Assertions.checkNotNull(matcher.group(1))) diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TextEmphasis.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TextEmphasis.java index a9e11e3642..42d34effc5 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TextEmphasis.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TextEmphasis.java @@ -97,13 +97,13 @@ import java.util.regex.Pattern; TtmlNode.ANNOTATION_POSITION_OUTSIDE); /** The text emphasis mark shape. */ - @MarkShape public final int markShape; + public final @MarkShape int markShape; /** The fill style of the text emphasis mark. */ - @TextEmphasisSpan.MarkFill public final int markFill; + public final @TextEmphasisSpan.MarkFill int markFill; /** The position of the text emphasis relative to the base text. */ - @Position public final int position; + public final @Position int position; private TextEmphasis( @MarkShape int markShape, diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlRegion.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlRegion.java index fe75015684..1bf821c72e 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlRegion.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlRegion.java @@ -23,13 +23,13 @@ import androidx.media3.common.text.Cue; public final String id; public final float position; public final float line; - @Cue.LineType public final int lineType; - @Cue.AnchorType public final int lineAnchor; + public final @Cue.LineType int lineType; + public final @Cue.AnchorType int lineAnchor; public final float width; public final float height; - @Cue.TextSizeType public final int textSizeType; + public final @Cue.TextSizeType int textSizeType; public final float textSize; - @Cue.VerticalType public final int verticalType; + public final @Cue.VerticalType int verticalType; public TtmlRegion(String id) { this( diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlStyle.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlStyle.java index a2b71b0463..b706154a0f 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlStyle.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/ttml/TtmlStyle.java @@ -81,18 +81,18 @@ import java.lang.annotation.Target; private boolean hasFontColor; private int backgroundColor; private boolean hasBackgroundColor; - @OptionalBoolean private int linethrough; - @OptionalBoolean private int underline; - @OptionalBoolean private int bold; - @OptionalBoolean private int italic; - @FontSizeUnit private int fontSizeUnit; + private @OptionalBoolean int linethrough; + private @OptionalBoolean int underline; + private @OptionalBoolean int bold; + private @OptionalBoolean int italic; + private @FontSizeUnit int fontSizeUnit; private float fontSize; @Nullable private String id; - @RubyType private int rubyType; - @TextAnnotation.Position private int rubyPosition; + private @RubyType int rubyType; + private @TextAnnotation.Position int rubyPosition; @Nullable private Layout.Alignment textAlign; @Nullable private Layout.Alignment multiRowAlign; - @OptionalBoolean private int textCombine; + private @OptionalBoolean int textCombine; @Nullable private TextEmphasis textEmphasis; private float shearPercentage; @@ -114,8 +114,7 @@ import java.lang.annotation.Target; * @return {@link #UNSPECIFIED}, {@link #STYLE_NORMAL}, {@link #STYLE_BOLD}, {@link #STYLE_BOLD} * or {@link #STYLE_BOLD_ITALIC}. */ - @StyleFlags - public int getStyle() { + public @StyleFlags int getStyle() { if (bold == UNSPECIFIED && italic == UNSPECIFIED) { return UNSPECIFIED; } @@ -292,8 +291,7 @@ import java.lang.annotation.Target; return this; } - @RubyType - public int getRubyType() { + public @RubyType int getRubyType() { return rubyType; } @@ -302,8 +300,7 @@ import java.lang.annotation.Target; return this; } - @TextAnnotation.Position - public int getRubyPosition() { + public @TextAnnotation.Position int getRubyPosition() { return rubyPosition; } @@ -357,8 +354,7 @@ import java.lang.annotation.Target; return this; } - @FontSizeUnit - public int getFontSizeUnit() { + public @FontSizeUnit int getFontSizeUnit() { return fontSizeUnit; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCssStyle.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCssStyle.java index 29753e1d4f..77713c1672 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCssStyle.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCssStyle.java @@ -97,13 +97,13 @@ public final class WebvttCssStyle { private boolean hasFontColor; private int backgroundColor; private boolean hasBackgroundColor; - @OptionalBoolean private int linethrough; - @OptionalBoolean private int underline; - @OptionalBoolean private int bold; - @OptionalBoolean private int italic; - @FontSizeUnit private int fontSizeUnit; + private @OptionalBoolean int linethrough; + private @OptionalBoolean int underline; + private @OptionalBoolean int bold; + private @OptionalBoolean int italic; + private @FontSizeUnit int fontSizeUnit; private float fontSize; - @TextAnnotation.Position private int rubyPosition; + private @TextAnnotation.Position int rubyPosition; private boolean combineUpright; public WebvttCssStyle() { @@ -186,8 +186,7 @@ public final class WebvttCssStyle { * @return {@link #UNSPECIFIED}, {@link #STYLE_NORMAL}, {@link #STYLE_BOLD}, {@link #STYLE_BOLD} * or {@link #STYLE_BOLD_ITALIC}. */ - @StyleFlags - public int getStyle() { + public @StyleFlags int getStyle() { if (bold == UNSPECIFIED && italic == UNSPECIFIED) { return UNSPECIFIED; } @@ -276,8 +275,7 @@ public final class WebvttCssStyle { return this; } - @FontSizeUnit - public int getFontSizeUnit() { + public @FontSizeUnit int getFontSizeUnit() { return fontSizeUnit; } @@ -290,8 +288,7 @@ public final class WebvttCssStyle { return this; } - @TextAnnotation.Position - public int getRubyPosition() { + public @TextAnnotation.Position int getRubyPosition() { return rubyPosition; } diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCueParser.java b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCueParser.java index a80d381502..456dd61680 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCueParser.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/text/webvtt/WebvttCueParser.java @@ -406,8 +406,7 @@ public final class WebvttCueParser { } } - @Cue.AnchorType - private static int parseLineAnchor(String s) { + private static @Cue.AnchorType int parseLineAnchor(String s) { switch (s) { case "start": return Cue.ANCHOR_TYPE_START; @@ -431,8 +430,7 @@ public final class WebvttCueParser { builder.position = WebvttParserUtil.parsePercentage(s); } - @Cue.AnchorType - private static int parsePositionAnchor(String s) { + private static @Cue.AnchorType int parsePositionAnchor(String s) { switch (s) { case "line-left": case "start": @@ -449,8 +447,7 @@ public final class WebvttCueParser { } } - @Cue.VerticalType - private static int parseVerticalAttribute(String s) { + private static @Cue.VerticalType int parseVerticalAttribute(String s) { switch (s) { case "rl": return Cue.VERTICAL_TYPE_RL; @@ -462,8 +459,7 @@ public final class WebvttCueParser { } } - @TextAlignment - private static int parseTextAlignment(String s) { + private static @TextAlignment int parseTextAlignment(String s) { switch (s) { case "start": return TEXT_ALIGNMENT_START; @@ -611,8 +607,7 @@ public final class WebvttCueParser { } } - @TextAnnotation.Position - private static int getRubyPosition( + private static @TextAnnotation.Position int getRubyPosition( List styles, @Nullable String cueId, StartTag startTag) { List styleMatches = getApplicableStyles(styles, cueId, startTag); for (int i = 0; i < styleMatches.size(); i++) { @@ -624,8 +619,7 @@ public final class WebvttCueParser { return TextAnnotation.POSITION_UNKNOWN; } - @TextAnnotation.Position - private static int firstKnownRubyPosition( + private static @TextAnnotation.Position int firstKnownRubyPosition( @TextAnnotation.Position int position1, @TextAnnotation.Position int position2, @TextAnnotation.Position int position3) { @@ -770,16 +764,16 @@ public final class WebvttCueParser { public long startTimeUs; public long endTimeUs; public @MonotonicNonNull CharSequence text; - @TextAlignment public int textAlignment; + public @TextAlignment int textAlignment; public float line; // Equivalent to WebVTT's snap-to-lines flag: // https://www.w3.org/TR/webvtt1/#webvtt-cue-snap-to-lines-flag - @Cue.LineType public int lineType; - @Cue.AnchorType public int lineAnchor; + public @Cue.LineType int lineType; + public @Cue.AnchorType int lineAnchor; public float position; - @Cue.AnchorType public int positionAnchor; + public @Cue.AnchorType int positionAnchor; public float size; - @Cue.VerticalType public int verticalType; + public @Cue.VerticalType int verticalType; public WebvttCueInfoBuilder() { startTimeUs = 0; @@ -861,8 +855,7 @@ public final class WebvttCueParser { } // https://www.w3.org/TR/webvtt1/#webvtt-cue-position-alignment - @Cue.AnchorType - private static int derivePositionAnchor(@TextAlignment int textAlignment) { + private static @Cue.AnchorType int derivePositionAnchor(@TextAlignment int textAlignment) { switch (textAlignment) { case TEXT_ALIGNMENT_LEFT: case TEXT_ALIGNMENT_START: diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac3Reader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac3Reader.java index 527f32d965..1d80fbca08 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac3Reader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac3Reader.java @@ -62,7 +62,7 @@ public final class Ac3Reader implements ElementaryStreamReader { private @MonotonicNonNull String formatId; private @MonotonicNonNull TrackOutput output; - @State private int state; + private @State int state; private int bytesRead; // Used to find the header. diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac4Reader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac4Reader.java index 238b861ad7..95440cec23 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac4Reader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/Ac4Reader.java @@ -60,7 +60,7 @@ public final class Ac4Reader implements ElementaryStreamReader { private @MonotonicNonNull String formatId; private @MonotonicNonNull TrackOutput output; - @State private int state; + private @State int state; private int bytesRead; // Used to find the header. diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory.java index 105059098f..11fa10f074 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/DefaultTsPayloadReaderFactory.java @@ -104,7 +104,7 @@ public final class DefaultTsPayloadReaderFactory implements TsPayloadReader.Fact private static final int DESCRIPTOR_TAG_CAPTION_SERVICE = 0x86; - @Flags private final int flags; + private final @Flags int flags; private final List closedCaptionFormats; public DefaultTsPayloadReaderFactory() { diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H263Reader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H263Reader.java index efa84e123f..11c81fef99 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H263Reader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H263Reader.java @@ -335,7 +335,7 @@ public final class H263Reader implements ElementaryStreamReader { private static final int STATE_WAIT_FOR_VOP_START = 4; private boolean isFilling; - @State private int state; + private @State int state; public int length; public int volStartPosition; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/TsExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/TsExtractor.java index aa2a36b02b..ea033b979b 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/TsExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/TsExtractor.java @@ -118,7 +118,7 @@ public final class TsExtractor implements Extractor { private static final int BUFFER_SIZE = TS_PACKET_SIZE * 50; private static final int SNIFF_TS_PACKET_COUNT = 5; - @Mode private final int mode; + private final @Mode int mode; private final int timestampSearchBytes; private final List timestampAdjusters; private final ParsableByteArray tsPacketBuffer; @@ -298,8 +298,8 @@ public final class TsExtractor implements Extractor { } @Override - @ReadResult - public int read(ExtractorInput input, PositionHolder seekPosition) throws IOException { + public @ReadResult int read(ExtractorInput input, PositionHolder seekPosition) + throws IOException { long inputLength = input.getLength(); if (tracksEnded) { boolean canReadDuration = inputLength != C.LENGTH_UNSET && mode != MODE_HLS; diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/wav/WavExtractor.java b/libraries/extractor/src/main/java/androidx/media3/extractor/wav/WavExtractor.java index 76461fa7cf..ca35a92b43 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/wav/WavExtractor.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/wav/WavExtractor.java @@ -122,8 +122,8 @@ public final class WavExtractor implements Extractor { } @Override - @ReadResult - public int read(ExtractorInput input, PositionHolder seekPosition) throws IOException { + public @ReadResult int read(ExtractorInput input, PositionHolder seekPosition) + throws IOException { assertInitialized(); switch (state) { case STATE_READING_FILE_TYPE: @@ -227,8 +227,7 @@ public final class WavExtractor implements Extractor { state = STATE_READING_SAMPLE_DATA; } - @ReadResult - private int readSampleData(ExtractorInput input) throws IOException { + private @ReadResult int readSampleData(ExtractorInput input) throws IOException { Assertions.checkState(dataEndPosition != C.POSITION_UNSET); long bytesLeft = dataEndPosition - input.getPosition(); return Assertions.checkNotNull(outputWriter).sampleData(input, bytesLeft) diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/mkv/DefaultEbmlReaderTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/mkv/DefaultEbmlReaderTest.java index 6597835a12..7fe5bb9284 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/mkv/DefaultEbmlReaderTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/mkv/DefaultEbmlReaderTest.java @@ -178,8 +178,7 @@ public class DefaultEbmlReaderTest { private final List events = new ArrayList<>(); @Override - @EbmlProcessor.ElementType - public int getElementType(int id) { + public @EbmlProcessor.ElementType int getElementType(int id) { switch (id) { case ID_EBML: case ID_SEGMENT: diff --git a/libraries/extractor/src/test/java/androidx/media3/extractor/text/ttml/TtmlStyleTest.java b/libraries/extractor/src/test/java/androidx/media3/extractor/text/ttml/TtmlStyleTest.java index 11c65d7d1c..3837b1260a 100644 --- a/libraries/extractor/src/test/java/androidx/media3/extractor/text/ttml/TtmlStyleTest.java +++ b/libraries/extractor/src/test/java/androidx/media3/extractor/text/ttml/TtmlStyleTest.java @@ -42,7 +42,7 @@ public final class TtmlStyleTest { private static final String FONT_FAMILY = "serif"; @ColorInt private static final int FONT_COLOR = Color.WHITE; private static final float FONT_SIZE = 12.5f; - @TtmlStyle.FontSizeUnit private static final int FONT_SIZE_UNIT = TtmlStyle.FONT_SIZE_UNIT_EM; + private static final @TtmlStyle.FontSizeUnit int FONT_SIZE_UNIT = TtmlStyle.FONT_SIZE_UNIT_EM; @ColorInt private static final int BACKGROUND_COLOR = Color.BLACK; private static final int RUBY_TYPE = TtmlStyle.RUBY_TYPE_TEXT; private static final int RUBY_POSITION = TextAnnotation.POSITION_AFTER; diff --git a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java index 15d3566214..416365e414 100644 --- a/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java +++ b/libraries/test_session_current/src/main/java/androidx/media3/session/MockPlayer.java @@ -82,7 +82,7 @@ public class MockPlayer implements Player { public int newIndex; public int currentPeriodIndex; public int currentMediaItemIndex; - @RepeatMode public int repeatMode; + public @RepeatMode int repeatMode; public boolean shuffleModeEnabled; public VideoSize videoSize; @Nullable public Surface surface; @@ -95,8 +95,8 @@ public class MockPlayer implements Player { public int deviceVolume; public boolean deviceMuted; public boolean playWhenReady; - @PlaybackSuppressionReason public int playbackSuppressionReason; - @State public int playbackState; + public @PlaybackSuppressionReason int playbackSuppressionReason; + public @State int playbackState; public boolean isPlaying; public boolean isLoading; public MediaMetadata mediaMetadata; @@ -591,14 +591,12 @@ public class MockPlayer implements Player { } @Override - @PlaybackSuppressionReason - public int getPlaybackSuppressionReason() { + public @PlaybackSuppressionReason int getPlaybackSuppressionReason() { return playbackSuppressionReason; } @Override - @State - public int getPlaybackState() { + public @State int getPlaybackState() { return playbackState; } diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/Action.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/Action.java index edf7665e65..6aaf678a37 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/Action.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/Action.java @@ -495,7 +495,7 @@ public abstract class Action { /** Calls {@link Player#setRepeatMode(int)}. */ public static final class SetRepeatMode extends Action { - @Player.RepeatMode private final int repeatMode; + private final @Player.RepeatMode int repeatMode; /** * @param tag A tag to use for logging. @@ -742,7 +742,7 @@ public abstract class Action { @Nullable private final Timeline expectedTimeline; private final boolean ignoreExpectedReason; - @Player.TimelineChangeReason private final int expectedReason; + private final @Player.TimelineChangeReason int expectedReason; /** * Creates action waiting for a timeline change for a given reason. @@ -909,7 +909,7 @@ public abstract class Action { */ public static final class WaitForPlaybackState extends Action { - @Player.State private final int targetPlaybackState; + private final @Player.State int targetPlaybackState; /** * @param tag A tag to use for logging. diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/CapturingAudioSink.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/CapturingAudioSink.java index 4da0ab6ab2..c10e0fa685 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/CapturingAudioSink.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/CapturingAudioSink.java @@ -93,7 +93,7 @@ public final class CapturingAudioSink extends ForwardingAudioSink implements Dum private static final class DumpableConfiguration implements Dumper.Dumpable { - @C.PcmEncoding private final int inputPcmEncoding; + private final @C.PcmEncoding int inputPcmEncoding; private final int inputChannelCount; private final int inputSampleRate; diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DownloadBuilder.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DownloadBuilder.java index 743c6b1716..fa9c146a8e 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DownloadBuilder.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DownloadBuilder.java @@ -47,7 +47,7 @@ public final class DownloadBuilder { @Nullable private String cacheKey; private byte[] customMetadata; - @Download.State private int state; + private @Download.State int state; private long startTimeMs; private long updateTimeMs; private long contentLength; diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpFileAsserts.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpFileAsserts.java index 7cab3c2d8a..7059c004ae 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpFileAsserts.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/DumpFileAsserts.java @@ -72,7 +72,7 @@ public class DumpFileAsserts { /** Write output to folder {@code /storage/emulated/0/Android/data} of device. */ private static final int WRITE_TO_DEVICE = 1 << 1; - @DumpFilesAction private static final int DUMP_FILE_ACTION = COMPARE_WITH_EXISTING; + private static final @DumpFilesAction int DUMP_FILE_ACTION = COMPARE_WITH_EXISTING; private DumpFileAsserts() {} diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeExoMediaDrm.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeExoMediaDrm.java index 314726f85e..fca4296d6d 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeExoMediaDrm.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeExoMediaDrm.java @@ -398,8 +398,7 @@ public final class FakeExoMediaDrm implements ExoMediaDrm { } @Override - @C.CryptoType - public int getCryptoType() { + public @C.CryptoType int getCryptoType() { return FakeCryptoConfig.TYPE; } diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeRenderer.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeRenderer.java index 9c95fbaa25..e4c99ffa64 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeRenderer.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeRenderer.java @@ -162,8 +162,7 @@ public class FakeRenderer extends BaseRenderer { } @Override - @Capabilities - public int supportsFormat(Format format) throws ExoPlaybackException { + public @Capabilities int supportsFormat(Format format) throws ExoPlaybackException { int trackType = MimeTypes.getTrackType(format.sampleMimeType); return trackType != C.TRACK_TYPE_UNKNOWN && trackType == getTrackType() ? RendererCapabilities.create(C.FORMAT_HANDLED, ADAPTIVE_SEAMLESS, TUNNELING_NOT_SUPPORTED) diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeSampleStream.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeSampleStream.java index d072791b45..d779b21109 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeSampleStream.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/FakeSampleStream.java @@ -295,7 +295,7 @@ public class FakeSampleStream implements SampleStream { private static class SampleInfo { public final byte[] data; - @C.BufferFlags public final int flags; + public final @C.BufferFlags int flags; public final long timeUs; public SampleInfo(byte[] data, @C.BufferFlags int flags, long timeUs) { diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/StubPlayer.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/StubPlayer.java index ce2411f93a..b3373e1f68 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/StubPlayer.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/StubPlayer.java @@ -62,14 +62,12 @@ public class StubPlayer extends BasePlayer { } @Override - @State - public int getPlaybackState() { + public @State int getPlaybackState() { throw new UnsupportedOperationException(); } @Override - @PlaybackSuppressionReason - public int getPlaybackSuppressionReason() { + public @PlaybackSuppressionReason int getPlaybackSuppressionReason() { throw new UnsupportedOperationException(); } diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/WebServerDispatcher.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/WebServerDispatcher.java index d252878fee..63b20dfc7c 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/WebServerDispatcher.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/WebServerDispatcher.java @@ -99,7 +99,7 @@ public class WebServerDispatcher extends Dispatcher { private byte @MonotonicNonNull [] data; private boolean supportsRangeRequests; private boolean resolvesToUnknownLength; - @GzipSupport private int gzipSupport; + private @GzipSupport int gzipSupport; /** Constructs an instance. */ public Builder() { @@ -187,7 +187,7 @@ public class WebServerDispatcher extends Dispatcher { private final byte[] data; private final boolean supportsRangeRequests; private final boolean resolvesToUnknownLength; - @GzipSupport private final int gzipSupport; + private final @GzipSupport int gzipSupport; private Resource( String path, @@ -223,8 +223,7 @@ public class WebServerDispatcher extends Dispatcher { } /** Returns the level of gzip support the server should provide for this resource. */ - @GzipSupport - public int getGzipSupport() { + public @GzipSupport int getGzipSupport() { return gzipSupport; } diff --git a/libraries/test_utils/src/main/java/androidx/media3/test/utils/truth/SpannedSubject.java b/libraries/test_utils/src/main/java/androidx/media3/test/utils/truth/SpannedSubject.java index d5f16d72f2..9a30b04202 100644 --- a/libraries/test_utils/src/main/java/androidx/media3/test/utils/truth/SpannedSubject.java +++ b/libraries/test_utils/src/main/java/androidx/media3/test/utils/truth/SpannedSubject.java @@ -1115,7 +1115,7 @@ public final class SpannedSubject extends Subject { private static final class TextAndPosition { private final String text; - @TextAnnotation.Position private final int position; + private final @TextAnnotation.Position int position; private TextAndPosition(String text, int position) { this.text = text; @@ -1212,9 +1212,9 @@ public final class SpannedSubject extends Subject { private static final class MarkAndPosition { - @TextEmphasisSpan.MarkShape private final int markShape; - @TextEmphasisSpan.MarkFill private final int markFill; - @TextAnnotation.Position private final int position; + private final @TextEmphasisSpan.MarkShape int markShape; + private final @TextEmphasisSpan.MarkFill int markFill; + private final @TextAnnotation.Position int position; private MarkAndPosition( @TextEmphasisSpan.MarkShape int markShape, diff --git a/libraries/test_utils_robolectric/src/main/java/androidx/media3/test/utils/robolectric/TestDownloadManagerListener.java b/libraries/test_utils_robolectric/src/main/java/androidx/media3/test/utils/robolectric/TestDownloadManagerListener.java index 1a79143a32..ff80c45666 100644 --- a/libraries/test_utils_robolectric/src/main/java/androidx/media3/test/utils/robolectric/TestDownloadManagerListener.java +++ b/libraries/test_utils_robolectric/src/main/java/androidx/media3/test/utils/robolectric/TestDownloadManagerListener.java @@ -44,7 +44,7 @@ public final class TestDownloadManagerListener implements DownloadManager.Listen private final ConditionVariable initializedCondition; private final ConditionVariable idleCondition; - @Download.FailureReason private int failureReason; + private @Download.FailureReason int failureReason; public TestDownloadManagerListener(DownloadManager downloadManager) { this.downloadManager = downloadManager; diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java index ffc6bcf8ac..61755bc869 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/Transformer.java @@ -542,7 +542,7 @@ public final class Transformer { @Nullable private MuxerWrapper muxerWrapper; @Nullable private ExoPlayer player; - @ProgressState private int progressState; + private @ProgressState int progressState; private Transformer( Context context, @@ -743,8 +743,7 @@ public final class Transformer { * @return The {@link ProgressState}. * @throws IllegalStateException If this method is called from the wrong thread. */ - @ProgressState - public int getProgress(ProgressHolder progressHolder) { + public @ProgressState int getProgress(ProgressHolder progressHolder) { verifyApplicationThread(); if (progressState == PROGRESS_STATE_AVAILABLE) { Player player = checkNotNull(this.player); diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java index 94b398dcc1..d6e6c8b645 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/TransformerBaseRenderer.java @@ -67,8 +67,7 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull; * @return The {@link Capabilities} for this format. */ @Override - @Capabilities - public final int supportsFormat(Format format) { + public final @Capabilities int supportsFormat(Format format) { return RendererCapabilities.create( MimeTypes.getTrackType(format.sampleMimeType) == getTrackType() ? C.FORMAT_HANDLED