Mathew Inwood | 89684ba | 2021-05-26 15:17:34 +0000 | [diff] [blame] | 1 | // Signature format: 2.0 |
| 2 | package android.media { |
| 3 | |
| 4 | public final class ApplicationMediaCapabilities implements android.os.Parcelable { |
| 5 | method @NonNull public static android.media.ApplicationMediaCapabilities createFromXml(@NonNull org.xmlpull.v1.XmlPullParser); |
| 6 | method public int describeContents(); |
| 7 | method @NonNull public java.util.List<java.lang.String> getSupportedHdrTypes(); |
| 8 | method @NonNull public java.util.List<java.lang.String> getSupportedVideoMimeTypes(); |
| 9 | method @NonNull public java.util.List<java.lang.String> getUnsupportedHdrTypes(); |
| 10 | method @NonNull public java.util.List<java.lang.String> getUnsupportedVideoMimeTypes(); |
| 11 | method public boolean isFormatSpecified(@NonNull String); |
| 12 | method public boolean isHdrTypeSupported(@NonNull String); |
| 13 | method public boolean isVideoMimeTypeSupported(@NonNull String); |
| 14 | method public void writeToParcel(@NonNull android.os.Parcel, int); |
| 15 | field @NonNull public static final android.os.Parcelable.Creator<android.media.ApplicationMediaCapabilities> CREATOR; |
| 16 | } |
| 17 | |
| 18 | public static final class ApplicationMediaCapabilities.Builder { |
| 19 | ctor public ApplicationMediaCapabilities.Builder(); |
| 20 | method @NonNull public android.media.ApplicationMediaCapabilities.Builder addSupportedHdrType(@NonNull String); |
| 21 | method @NonNull public android.media.ApplicationMediaCapabilities.Builder addSupportedVideoMimeType(@NonNull String); |
| 22 | method @NonNull public android.media.ApplicationMediaCapabilities.Builder addUnsupportedHdrType(@NonNull String); |
| 23 | method @NonNull public android.media.ApplicationMediaCapabilities.Builder addUnsupportedVideoMimeType(@NonNull String); |
| 24 | method @NonNull public android.media.ApplicationMediaCapabilities build(); |
| 25 | } |
| 26 | |
| 27 | public class MediaCommunicationManager { |
| 28 | method @NonNull public java.util.List<android.media.Session2Token> getSession2Tokens(); |
| 29 | method @IntRange(from=1) public int getVersion(); |
| 30 | } |
| 31 | |
| 32 | public class MediaController2 implements java.lang.AutoCloseable { |
| 33 | method public void cancelSessionCommand(@NonNull Object); |
| 34 | method public void close(); |
| 35 | method @Nullable public android.media.Session2Token getConnectedToken(); |
| 36 | method public boolean isPlaybackActive(); |
| 37 | method @NonNull public Object sendSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle); |
| 38 | } |
| 39 | |
| 40 | public static final class MediaController2.Builder { |
| 41 | ctor public MediaController2.Builder(@NonNull android.content.Context, @NonNull android.media.Session2Token); |
| 42 | method @NonNull public android.media.MediaController2 build(); |
| 43 | method @NonNull public android.media.MediaController2.Builder setConnectionHints(@NonNull android.os.Bundle); |
| 44 | method @NonNull public android.media.MediaController2.Builder setControllerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaController2.ControllerCallback); |
| 45 | } |
| 46 | |
| 47 | public abstract static class MediaController2.ControllerCallback { |
| 48 | ctor public MediaController2.ControllerCallback(); |
| 49 | method public void onCommandResult(@NonNull android.media.MediaController2, @NonNull Object, @NonNull android.media.Session2Command, @NonNull android.media.Session2Command.Result); |
| 50 | method public void onConnected(@NonNull android.media.MediaController2, @NonNull android.media.Session2CommandGroup); |
| 51 | method public void onDisconnected(@NonNull android.media.MediaController2); |
| 52 | method public void onPlaybackActiveChanged(@NonNull android.media.MediaController2, boolean); |
| 53 | method @Nullable public android.media.Session2Command.Result onSessionCommand(@NonNull android.media.MediaController2, @NonNull android.media.Session2Command, @Nullable android.os.Bundle); |
| 54 | } |
| 55 | |
| 56 | public final class MediaFeature { |
| 57 | ctor public MediaFeature(); |
| 58 | } |
| 59 | |
| 60 | public static final class MediaFeature.HdrType { |
| 61 | field public static final String DOLBY_VISION = "android.media.feature.hdr.dolby_vision"; |
| 62 | field public static final String HDR10 = "android.media.feature.hdr.hdr10"; |
| 63 | field public static final String HDR10_PLUS = "android.media.feature.hdr.hdr10_plus"; |
| 64 | field public static final String HLG = "android.media.feature.hdr.hlg"; |
| 65 | } |
| 66 | |
| 67 | public final class MediaParser { |
| 68 | method public boolean advance(@NonNull android.media.MediaParser.SeekableInputReader) throws java.io.IOException; |
| 69 | method @NonNull public static android.media.MediaParser create(@NonNull android.media.MediaParser.OutputConsumer, @NonNull java.lang.String...); |
| 70 | method @NonNull public static android.media.MediaParser createByName(@NonNull String, @NonNull android.media.MediaParser.OutputConsumer); |
| 71 | method @NonNull public android.media.metrics.LogSessionId getLogSessionId(); |
| 72 | method @NonNull public String getParserName(); |
| 73 | method @NonNull public static java.util.List<java.lang.String> getParserNames(@NonNull android.media.MediaFormat); |
| 74 | method public void release(); |
| 75 | method public void seek(@NonNull android.media.MediaParser.SeekPoint); |
| 76 | method public void setLogSessionId(@NonNull android.media.metrics.LogSessionId); |
| 77 | method @NonNull public android.media.MediaParser setParameter(@NonNull String, @NonNull Object); |
| 78 | method public boolean supportsParameter(@NonNull String); |
| 79 | field public static final String PARAMETER_ADTS_ENABLE_CBR_SEEKING = "android.media.mediaparser.adts.enableCbrSeeking"; |
| 80 | field public static final String PARAMETER_AMR_ENABLE_CBR_SEEKING = "android.media.mediaparser.amr.enableCbrSeeking"; |
| 81 | field public static final String PARAMETER_FLAC_DISABLE_ID3 = "android.media.mediaparser.flac.disableId3"; |
| 82 | field public static final String PARAMETER_MATROSKA_DISABLE_CUES_SEEKING = "android.media.mediaparser.matroska.disableCuesSeeking"; |
| 83 | field public static final String PARAMETER_MP3_DISABLE_ID3 = "android.media.mediaparser.mp3.disableId3"; |
| 84 | field public static final String PARAMETER_MP3_ENABLE_CBR_SEEKING = "android.media.mediaparser.mp3.enableCbrSeeking"; |
| 85 | field public static final String PARAMETER_MP3_ENABLE_INDEX_SEEKING = "android.media.mediaparser.mp3.enableIndexSeeking"; |
| 86 | field public static final String PARAMETER_MP4_IGNORE_EDIT_LISTS = "android.media.mediaparser.mp4.ignoreEditLists"; |
| 87 | field public static final String PARAMETER_MP4_IGNORE_TFDT_BOX = "android.media.mediaparser.mp4.ignoreTfdtBox"; |
| 88 | field public static final String PARAMETER_MP4_TREAT_VIDEO_FRAMES_AS_KEYFRAMES = "android.media.mediaparser.mp4.treatVideoFramesAsKeyframes"; |
| 89 | field public static final String PARAMETER_TS_ALLOW_NON_IDR_AVC_KEYFRAMES = "android.media.mediaparser.ts.allowNonIdrAvcKeyframes"; |
| 90 | field public static final String PARAMETER_TS_DETECT_ACCESS_UNITS = "android.media.mediaparser.ts.ignoreDetectAccessUnits"; |
| 91 | field public static final String PARAMETER_TS_ENABLE_HDMV_DTS_AUDIO_STREAMS = "android.media.mediaparser.ts.enableHdmvDtsAudioStreams"; |
| 92 | field public static final String PARAMETER_TS_IGNORE_AAC_STREAM = "android.media.mediaparser.ts.ignoreAacStream"; |
| 93 | field public static final String PARAMETER_TS_IGNORE_AVC_STREAM = "android.media.mediaparser.ts.ignoreAvcStream"; |
| 94 | field public static final String PARAMETER_TS_IGNORE_SPLICE_INFO_STREAM = "android.media.mediaparser.ts.ignoreSpliceInfoStream"; |
| 95 | field public static final String PARAMETER_TS_MODE = "android.media.mediaparser.ts.mode"; |
| 96 | field public static final String PARSER_NAME_AC3 = "android.media.mediaparser.Ac3Parser"; |
| 97 | field public static final String PARSER_NAME_AC4 = "android.media.mediaparser.Ac4Parser"; |
| 98 | field public static final String PARSER_NAME_ADTS = "android.media.mediaparser.AdtsParser"; |
| 99 | field public static final String PARSER_NAME_AMR = "android.media.mediaparser.AmrParser"; |
| 100 | field public static final String PARSER_NAME_FLAC = "android.media.mediaparser.FlacParser"; |
| 101 | field public static final String PARSER_NAME_FLV = "android.media.mediaparser.FlvParser"; |
| 102 | field public static final String PARSER_NAME_FMP4 = "android.media.mediaparser.FragmentedMp4Parser"; |
| 103 | field public static final String PARSER_NAME_MATROSKA = "android.media.mediaparser.MatroskaParser"; |
| 104 | field public static final String PARSER_NAME_MP3 = "android.media.mediaparser.Mp3Parser"; |
| 105 | field public static final String PARSER_NAME_MP4 = "android.media.mediaparser.Mp4Parser"; |
| 106 | field public static final String PARSER_NAME_OGG = "android.media.mediaparser.OggParser"; |
| 107 | field public static final String PARSER_NAME_PS = "android.media.mediaparser.PsParser"; |
| 108 | field public static final String PARSER_NAME_TS = "android.media.mediaparser.TsParser"; |
| 109 | field public static final String PARSER_NAME_UNKNOWN = "android.media.mediaparser.UNKNOWN"; |
| 110 | field public static final String PARSER_NAME_WAV = "android.media.mediaparser.WavParser"; |
| 111 | field public static final int SAMPLE_FLAG_DECODE_ONLY = -2147483648; // 0x80000000 |
| 112 | field public static final int SAMPLE_FLAG_ENCRYPTED = 1073741824; // 0x40000000 |
| 113 | field public static final int SAMPLE_FLAG_HAS_SUPPLEMENTAL_DATA = 268435456; // 0x10000000 |
| 114 | field public static final int SAMPLE_FLAG_KEY_FRAME = 1; // 0x1 |
| 115 | field public static final int SAMPLE_FLAG_LAST_SAMPLE = 536870912; // 0x20000000 |
| 116 | } |
| 117 | |
| 118 | public static interface MediaParser.InputReader { |
| 119 | method public long getLength(); |
| 120 | method public long getPosition(); |
| 121 | method public int read(@NonNull byte[], int, int) throws java.io.IOException; |
| 122 | } |
| 123 | |
| 124 | public static interface MediaParser.OutputConsumer { |
| 125 | method public void onSampleCompleted(int, long, int, int, int, @Nullable android.media.MediaCodec.CryptoInfo); |
| 126 | method public void onSampleDataFound(int, @NonNull android.media.MediaParser.InputReader) throws java.io.IOException; |
| 127 | method public void onSeekMapFound(@NonNull android.media.MediaParser.SeekMap); |
| 128 | method public void onTrackCountFound(int); |
| 129 | method public void onTrackDataFound(int, @NonNull android.media.MediaParser.TrackData); |
| 130 | } |
| 131 | |
| 132 | public static final class MediaParser.ParsingException extends java.io.IOException { |
| 133 | } |
| 134 | |
| 135 | public static final class MediaParser.SeekMap { |
| 136 | method public long getDurationMicros(); |
| 137 | method @NonNull public android.util.Pair<android.media.MediaParser.SeekPoint,android.media.MediaParser.SeekPoint> getSeekPoints(long); |
| 138 | method public boolean isSeekable(); |
| 139 | field public static final int UNKNOWN_DURATION = -2147483648; // 0x80000000 |
| 140 | } |
| 141 | |
| 142 | public static final class MediaParser.SeekPoint { |
| 143 | field @NonNull public static final android.media.MediaParser.SeekPoint START; |
| 144 | field public final long position; |
| 145 | field public final long timeMicros; |
| 146 | } |
| 147 | |
| 148 | public static interface MediaParser.SeekableInputReader extends android.media.MediaParser.InputReader { |
| 149 | method public void seekToPosition(long); |
| 150 | } |
| 151 | |
| 152 | public static final class MediaParser.TrackData { |
| 153 | field @Nullable public final android.media.DrmInitData drmInitData; |
| 154 | field @NonNull public final android.media.MediaFormat mediaFormat; |
| 155 | } |
| 156 | |
| 157 | public static final class MediaParser.UnrecognizedInputFormatException extends java.io.IOException { |
| 158 | } |
| 159 | |
| 160 | public class MediaSession2 implements java.lang.AutoCloseable { |
| 161 | method public void broadcastSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle); |
| 162 | method public void cancelSessionCommand(@NonNull android.media.MediaSession2.ControllerInfo, @NonNull Object); |
| 163 | method public void close(); |
| 164 | method @NonNull public java.util.List<android.media.MediaSession2.ControllerInfo> getConnectedControllers(); |
| 165 | method @NonNull public String getId(); |
| 166 | method @NonNull public android.media.Session2Token getToken(); |
| 167 | method public boolean isPlaybackActive(); |
| 168 | method @NonNull public Object sendSessionCommand(@NonNull android.media.MediaSession2.ControllerInfo, @NonNull android.media.Session2Command, @Nullable android.os.Bundle); |
| 169 | method public void setPlaybackActive(boolean); |
| 170 | } |
| 171 | |
| 172 | public static final class MediaSession2.Builder { |
| 173 | ctor public MediaSession2.Builder(@NonNull android.content.Context); |
| 174 | method @NonNull public android.media.MediaSession2 build(); |
| 175 | method @NonNull public android.media.MediaSession2.Builder setExtras(@NonNull android.os.Bundle); |
| 176 | method @NonNull public android.media.MediaSession2.Builder setId(@NonNull String); |
| 177 | method @NonNull public android.media.MediaSession2.Builder setSessionActivity(@Nullable android.app.PendingIntent); |
| 178 | method @NonNull public android.media.MediaSession2.Builder setSessionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaSession2.SessionCallback); |
| 179 | } |
| 180 | |
| 181 | public static final class MediaSession2.ControllerInfo { |
| 182 | method @NonNull public android.os.Bundle getConnectionHints(); |
| 183 | method @NonNull public String getPackageName(); |
| 184 | method @NonNull public android.media.session.MediaSessionManager.RemoteUserInfo getRemoteUserInfo(); |
| 185 | method public int getUid(); |
| 186 | } |
| 187 | |
| 188 | public abstract static class MediaSession2.SessionCallback { |
| 189 | ctor public MediaSession2.SessionCallback(); |
| 190 | method public void onCommandResult(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo, @NonNull Object, @NonNull android.media.Session2Command, @NonNull android.media.Session2Command.Result); |
| 191 | method @Nullable public android.media.Session2CommandGroup onConnect(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo); |
| 192 | method public void onDisconnected(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo); |
| 193 | method public void onPostConnect(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo); |
| 194 | method @Nullable public android.media.Session2Command.Result onSessionCommand(@NonNull android.media.MediaSession2, @NonNull android.media.MediaSession2.ControllerInfo, @NonNull android.media.Session2Command, @Nullable android.os.Bundle); |
| 195 | } |
| 196 | |
| 197 | public abstract class MediaSession2Service extends android.app.Service { |
| 198 | ctor public MediaSession2Service(); |
| 199 | method public final void addSession(@NonNull android.media.MediaSession2); |
| 200 | method @NonNull public final java.util.List<android.media.MediaSession2> getSessions(); |
| 201 | method @CallSuper @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent); |
| 202 | method @Nullable public abstract android.media.MediaSession2 onGetSession(@NonNull android.media.MediaSession2.ControllerInfo); |
| 203 | method @Nullable public abstract android.media.MediaSession2Service.MediaNotification onUpdateNotification(@NonNull android.media.MediaSession2); |
| 204 | method public final void removeSession(@NonNull android.media.MediaSession2); |
| 205 | field public static final String SERVICE_INTERFACE = "android.media.MediaSession2Service"; |
| 206 | } |
| 207 | |
| 208 | public static class MediaSession2Service.MediaNotification { |
| 209 | ctor public MediaSession2Service.MediaNotification(int, @NonNull android.app.Notification); |
| 210 | method @NonNull public android.app.Notification getNotification(); |
| 211 | method public int getNotificationId(); |
| 212 | } |
| 213 | |
| 214 | public final class Session2Command implements android.os.Parcelable { |
| 215 | ctor public Session2Command(int); |
| 216 | ctor public Session2Command(@NonNull String, @Nullable android.os.Bundle); |
| 217 | method public int describeContents(); |
| 218 | method public int getCommandCode(); |
| 219 | method @Nullable public String getCustomAction(); |
| 220 | method @Nullable public android.os.Bundle getCustomExtras(); |
| 221 | method public void writeToParcel(@NonNull android.os.Parcel, int); |
| 222 | field public static final int COMMAND_CODE_CUSTOM = 0; // 0x0 |
| 223 | field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2Command> CREATOR; |
| 224 | } |
| 225 | |
| 226 | public static final class Session2Command.Result { |
| 227 | ctor public Session2Command.Result(int, @Nullable android.os.Bundle); |
| 228 | method public int getResultCode(); |
| 229 | method @Nullable public android.os.Bundle getResultData(); |
| 230 | field public static final int RESULT_ERROR_UNKNOWN_ERROR = -1; // 0xffffffff |
| 231 | field public static final int RESULT_INFO_SKIPPED = 1; // 0x1 |
| 232 | field public static final int RESULT_SUCCESS = 0; // 0x0 |
| 233 | } |
| 234 | |
| 235 | public final class Session2CommandGroup implements android.os.Parcelable { |
| 236 | method public int describeContents(); |
| 237 | method @NonNull public java.util.Set<android.media.Session2Command> getCommands(); |
| 238 | method public boolean hasCommand(@NonNull android.media.Session2Command); |
| 239 | method public boolean hasCommand(int); |
| 240 | method public void writeToParcel(@NonNull android.os.Parcel, int); |
| 241 | field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2CommandGroup> CREATOR; |
| 242 | } |
| 243 | |
| 244 | public static final class Session2CommandGroup.Builder { |
| 245 | ctor public Session2CommandGroup.Builder(); |
| 246 | ctor public Session2CommandGroup.Builder(@NonNull android.media.Session2CommandGroup); |
| 247 | method @NonNull public android.media.Session2CommandGroup.Builder addCommand(@NonNull android.media.Session2Command); |
| 248 | method @NonNull public android.media.Session2CommandGroup build(); |
| 249 | method @NonNull public android.media.Session2CommandGroup.Builder removeCommand(@NonNull android.media.Session2Command); |
| 250 | } |
| 251 | |
| 252 | public final class Session2Token implements android.os.Parcelable { |
| 253 | ctor public Session2Token(@NonNull android.content.Context, @NonNull android.content.ComponentName); |
| 254 | method public int describeContents(); |
| 255 | method @NonNull public android.os.Bundle getExtras(); |
| 256 | method @NonNull public String getPackageName(); |
| 257 | method @Nullable public String getServiceName(); |
| 258 | method public int getType(); |
| 259 | method public int getUid(); |
| 260 | method public void writeToParcel(android.os.Parcel, int); |
| 261 | field @NonNull public static final android.os.Parcelable.Creator<android.media.Session2Token> CREATOR; |
| 262 | field public static final int TYPE_SESSION = 0; // 0x0 |
| 263 | field public static final int TYPE_SESSION_SERVICE = 1; // 0x1 |
| 264 | } |
| 265 | |
| 266 | } |
| 267 | |