diff --git a/api/current.txt b/api/current.txt index c4e0226438032..e24209ce78016 100644 --- a/api/current.txt +++ b/api/current.txt @@ -23776,27 +23776,6 @@ package android.media { field public static final int QUALITY_MEDIUM = 1; // 0x1 } - public class DataSourceDesc { - method public long getEndPosition(); - method @Nullable public String getMediaId(); - method public long getStartPosition(); - field public static final long LONG_MAX_TIME_MS = 576460752303423L; // 0x20c49ba5e353fL - field public static final long POSITION_UNKNOWN = 576460752303423L; // 0x20c49ba5e353fL - } - - public static final class DataSourceDesc.Builder { - ctor public DataSourceDesc.Builder(); - ctor public DataSourceDesc.Builder(@Nullable android.media.DataSourceDesc); - method @NonNull public android.media.DataSourceDesc build(); - method @NonNull public android.media.DataSourceDesc.Builder setDataSource(@NonNull android.net.Uri); - method @NonNull public android.media.DataSourceDesc.Builder setDataSource(@NonNull android.net.Uri, @Nullable java.util.Map, @Nullable java.util.List); - method @NonNull public android.media.DataSourceDesc.Builder setDataSource(@NonNull android.os.ParcelFileDescriptor); - method @NonNull public android.media.DataSourceDesc.Builder setDataSource(@NonNull android.os.ParcelFileDescriptor, long, long); - method @NonNull public android.media.DataSourceDesc.Builder setEndPosition(long); - method @NonNull public android.media.DataSourceDesc.Builder setMediaId(@Nullable String); - method @NonNull public android.media.DataSourceDesc.Builder setStartPosition(long); - } - public final class DeniedByServerException extends android.media.MediaDrmException { ctor public DeniedByServerException(String); } @@ -25555,225 +25534,6 @@ package android.media { field public static final int MEDIA_TRACK_TYPE_VIDEO = 1; // 0x1 } - public class MediaPlayer2 implements android.media.AudioRouting java.lang.AutoCloseable { - ctor public MediaPlayer2(@NonNull android.content.Context); - method public void addOnRoutingChangedListener(@NonNull android.media.AudioRouting.OnRoutingChangedListener, @Nullable android.os.Handler); - method @NonNull public Object attachAuxEffect(int); - method public boolean cancelCommand(@NonNull Object); - method public void clearDrmEventCallback(); - method @NonNull public Object clearNextDataSources(); - method public void clearPendingCommands(); - method public void close(); - method @NonNull public Object deselectTrack(@NonNull android.media.MediaPlayer2.TrackInfo); - method @NonNull public Object deselectTrack(@NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.TrackInfo); - method @NonNull public android.media.AudioAttributes getAudioAttributes(); - method public int getAudioSessionId(); - method public long getBufferedPosition(); - method public long getBufferedPosition(@NonNull android.media.DataSourceDesc); - method @Nullable public android.media.DataSourceDesc getCurrentDataSource(); - method public long getCurrentPosition(); - method public long getDuration(); - method public long getDuration(@NonNull android.media.DataSourceDesc); - method public float getMaxPlayerVolume(); - method @Nullable public android.os.PersistableBundle getMetrics(); - method @NonNull public android.media.PlaybackParams getPlaybackParams(); - method public float getPlayerVolume(); - method @Nullable public android.media.AudioDeviceInfo getPreferredDevice(); - method @Nullable public android.media.AudioDeviceInfo getRoutedDevice(); - method @Nullable public android.media.MediaPlayer2.TrackInfo getSelectedTrack(int); - method @Nullable public android.media.MediaPlayer2.TrackInfo getSelectedTrack(@NonNull android.media.DataSourceDesc, int); - method public int getState(); - method @NonNull public android.media.SyncParams getSyncParams(); - method @Nullable public android.media.MediaTimestamp getTimestamp(); - method @NonNull public java.util.List getTrackInfo(); - method @NonNull public java.util.List getTrackInfo(@NonNull android.media.DataSourceDesc); - method @NonNull public android.util.Size getVideoSize(); - method public boolean isLooping(); - method @NonNull public Object loopCurrent(boolean); - method @NonNull public Object notifyWhenCommandLabelReached(@NonNull Object); - method @NonNull public Object pause(); - method @NonNull public Object play(); - method @NonNull public Object prepare(); - method public void registerEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaPlayer2.EventCallback); - method public void removeOnRoutingChangedListener(@NonNull android.media.AudioRouting.OnRoutingChangedListener); - method public void reset(); - method @NonNull public Object seekTo(long); - method @NonNull public Object seekTo(long, int); - method @NonNull public Object selectTrack(@NonNull android.media.MediaPlayer2.TrackInfo); - method @NonNull public Object selectTrack(@NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.TrackInfo); - method @NonNull public Object setAudioAttributes(@NonNull android.media.AudioAttributes); - method @NonNull public Object setAudioSessionId(int); - method @NonNull public Object setAuxEffectSendLevel(float); - method @NonNull public Object setDataSource(@NonNull android.media.DataSourceDesc); - method @NonNull public Object setDisplay(@Nullable android.view.SurfaceHolder); - method public void setDrmEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaPlayer2.DrmEventCallback); - method @NonNull public Object setNextDataSource(@NonNull android.media.DataSourceDesc); - method @NonNull public Object setNextDataSources(@NonNull java.util.List); - method @NonNull public Object setPlaybackParams(@NonNull android.media.PlaybackParams); - method @NonNull public Object setPlayerVolume(float); - method public boolean setPreferredDevice(@Nullable android.media.AudioDeviceInfo); - method @NonNull public Object setScreenOnWhilePlaying(boolean); - method @NonNull public Object setSurface(@Nullable android.view.Surface); - method @NonNull public Object setSyncParams(@NonNull android.media.SyncParams); - method @NonNull public Object setWakeLock(@NonNull android.os.PowerManager.WakeLock); - method @NonNull public Object skipToNext(); - method public void unregisterEventCallback(@NonNull android.media.MediaPlayer2.EventCallback); - field public static final int CALL_COMPLETED_ATTACH_AUX_EFFECT = 1; // 0x1 - field public static final int CALL_COMPLETED_CLEAR_NEXT_DATA_SOURCES = 30; // 0x1e - field public static final int CALL_COMPLETED_DESELECT_TRACK = 2; // 0x2 - field public static final int CALL_COMPLETED_LOOP_CURRENT = 3; // 0x3 - field public static final int CALL_COMPLETED_PAUSE = 4; // 0x4 - field public static final int CALL_COMPLETED_PLAY = 5; // 0x5 - field public static final int CALL_COMPLETED_PREPARE = 6; // 0x6 - field public static final int CALL_COMPLETED_SEEK_TO = 14; // 0xe - field public static final int CALL_COMPLETED_SELECT_TRACK = 15; // 0xf - field public static final int CALL_COMPLETED_SET_AUDIO_ATTRIBUTES = 16; // 0x10 - field public static final int CALL_COMPLETED_SET_AUDIO_SESSION_ID = 17; // 0x11 - field public static final int CALL_COMPLETED_SET_AUX_EFFECT_SEND_LEVEL = 18; // 0x12 - field public static final int CALL_COMPLETED_SET_DATA_SOURCE = 19; // 0x13 - field public static final int CALL_COMPLETED_SET_DISPLAY = 33; // 0x21 - field public static final int CALL_COMPLETED_SET_NEXT_DATA_SOURCE = 22; // 0x16 - field public static final int CALL_COMPLETED_SET_NEXT_DATA_SOURCES = 23; // 0x17 - field public static final int CALL_COMPLETED_SET_PLAYBACK_PARAMS = 24; // 0x18 - field public static final int CALL_COMPLETED_SET_PLAYER_VOLUME = 26; // 0x1a - field public static final int CALL_COMPLETED_SET_SCREEN_ON_WHILE_PLAYING = 35; // 0x23 - field public static final int CALL_COMPLETED_SET_SURFACE = 27; // 0x1b - field public static final int CALL_COMPLETED_SET_SYNC_PARAMS = 28; // 0x1c - field public static final int CALL_COMPLETED_SET_WAKE_LOCK = 34; // 0x22 - field public static final int CALL_COMPLETED_SKIP_TO_NEXT = 29; // 0x1d - field public static final int CALL_STATUS_BAD_VALUE = 2; // 0x2 - field public static final int CALL_STATUS_ERROR_IO = 4; // 0x4 - field public static final int CALL_STATUS_ERROR_UNKNOWN = -2147483648; // 0x80000000 - field public static final int CALL_STATUS_INVALID_OPERATION = 1; // 0x1 - field public static final int CALL_STATUS_NO_DRM_SCHEME = 6; // 0x6 - field public static final int CALL_STATUS_NO_ERROR = 0; // 0x0 - field public static final int CALL_STATUS_PERMISSION_DENIED = 3; // 0x3 - field public static final int CALL_STATUS_SKIPPED = 5; // 0x5 - field public static final int MEDIA_ERROR_IO = -1004; // 0xfffffc14 - field public static final int MEDIA_ERROR_MALFORMED = -1007; // 0xfffffc11 - field public static final int MEDIA_ERROR_NOT_VALID_FOR_PROGRESSIVE_PLAYBACK = 200; // 0xc8 - field public static final int MEDIA_ERROR_TIMED_OUT = -110; // 0xffffff92 - field public static final int MEDIA_ERROR_UNKNOWN = 1; // 0x1 - field public static final int MEDIA_ERROR_UNSUPPORTED = -1010; // 0xfffffc0e - field public static final int MEDIA_INFO_AUDIO_NOT_PLAYING = 804; // 0x324 - field public static final int MEDIA_INFO_AUDIO_RENDERING_START = 4; // 0x4 - field public static final int MEDIA_INFO_BAD_INTERLEAVING = 800; // 0x320 - field public static final int MEDIA_INFO_BUFFERING_END = 702; // 0x2be - field public static final int MEDIA_INFO_BUFFERING_START = 701; // 0x2bd - field public static final int MEDIA_INFO_BUFFERING_UPDATE = 704; // 0x2c0 - field public static final int MEDIA_INFO_DATA_SOURCE_END = 5; // 0x5 - field public static final int MEDIA_INFO_DATA_SOURCE_LIST_END = 6; // 0x6 - field public static final int MEDIA_INFO_DATA_SOURCE_REPEAT = 7; // 0x7 - field public static final int MEDIA_INFO_DATA_SOURCE_START = 2; // 0x2 - field public static final int MEDIA_INFO_METADATA_UPDATE = 802; // 0x322 - field public static final int MEDIA_INFO_NOT_SEEKABLE = 801; // 0x321 - field public static final int MEDIA_INFO_PREPARED = 100; // 0x64 - field public static final int MEDIA_INFO_SUBTITLE_TIMED_OUT = 902; // 0x386 - field public static final int MEDIA_INFO_UNKNOWN = 1; // 0x1 - field public static final int MEDIA_INFO_UNSUPPORTED_SUBTITLE = 901; // 0x385 - field public static final int MEDIA_INFO_VIDEO_NOT_PLAYING = 805; // 0x325 - field public static final int MEDIA_INFO_VIDEO_RENDERING_START = 3; // 0x3 - field public static final int MEDIA_INFO_VIDEO_TRACK_LAGGING = 700; // 0x2bc - field public static final int PLAYER_STATE_ERROR = 1005; // 0x3ed - field public static final int PLAYER_STATE_IDLE = 1001; // 0x3e9 - field public static final int PLAYER_STATE_PAUSED = 1003; // 0x3eb - field public static final int PLAYER_STATE_PLAYING = 1004; // 0x3ec - field public static final int PLAYER_STATE_PREPARED = 1002; // 0x3ea - field public static final int PREPARE_DRM_STATUS_KEY_EXCHANGE_ERROR = 7; // 0x7 - field public static final int PREPARE_DRM_STATUS_PREPARATION_ERROR = 3; // 0x3 - field public static final int PREPARE_DRM_STATUS_PROVISIONING_NETWORK_ERROR = 1; // 0x1 - field public static final int PREPARE_DRM_STATUS_PROVISIONING_SERVER_ERROR = 2; // 0x2 - field public static final int PREPARE_DRM_STATUS_RESOURCE_BUSY = 5; // 0x5 - field public static final int PREPARE_DRM_STATUS_RESTORE_ERROR = 6; // 0x6 - field public static final int PREPARE_DRM_STATUS_SUCCESS = 0; // 0x0 - field public static final int PREPARE_DRM_STATUS_UNSUPPORTED_SCHEME = 4; // 0x4 - field public static final int SEEK_CLOSEST = 3; // 0x3 - field public static final int SEEK_CLOSEST_SYNC = 2; // 0x2 - field public static final int SEEK_NEXT_SYNC = 1; // 0x1 - field public static final int SEEK_PREVIOUS_SYNC = 0; // 0x0 - } - - public abstract static class MediaPlayer2.DrmEventCallback { - ctor public MediaPlayer2.DrmEventCallback(); - method public void onDrmConfig(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaDrm); - method @Nullable public abstract android.media.MediaPlayer2.DrmPreparationInfo onDrmInfo(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.DrmInfo); - method @NonNull public abstract byte[] onDrmKeyRequest(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaDrm.KeyRequest); - method public void onDrmPrepared(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, @Nullable byte[]); - } - - public static final class MediaPlayer2.DrmInfo { - method @NonNull public java.util.Map getPssh(); - method @NonNull public java.util.List getSupportedSchemes(); - } - - public static final class MediaPlayer2.DrmPreparationInfo { - method @Nullable public byte[] getInitData(); - method @Nullable public byte[] getKeySetId(); - method public int getKeyType(); - method @Nullable public String getMimeType(); - method @Nullable public java.util.Map getOptionalParameters(); - method @NonNull public java.util.UUID getUuid(); - } - - public static final class MediaPlayer2.DrmPreparationInfo.Builder { - ctor public MediaPlayer2.DrmPreparationInfo.Builder(@NonNull java.util.UUID); - method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo build(); - method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setInitData(@Nullable byte[]); - method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setKeySetId(@Nullable byte[]); - method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setKeyType(int); - method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setMimeType(@Nullable String); - method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setOptionalParameters(@Nullable java.util.Map); - } - - public static class MediaPlayer2.EventCallback { - ctor public MediaPlayer2.EventCallback(); - method public void onCallCompleted(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, int); - method public void onCommandLabelReached(@NonNull android.media.MediaPlayer2, @NonNull Object); - method public void onError(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, int); - method public void onInfo(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, int); - method public void onMediaTimeDiscontinuity(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaTimestamp); - method public void onSubtitleData(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.SubtitleData); - method public void onTimedMetaDataAvailable(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.TimedMetaData); - method public void onVideoSizeChanged(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.util.Size); - } - - public static final class MediaPlayer2.MetricsConstants { - field public static final String CODEC_AUDIO = "android.media.mediaplayer.audio.codec"; - field public static final String CODEC_VIDEO = "android.media.mediaplayer.video.codec"; - field public static final String DURATION = "android.media.mediaplayer.durationMs"; - field public static final String ERRORS = "android.media.mediaplayer.err"; - field public static final String ERROR_CODE = "android.media.mediaplayer.errcode"; - field public static final String FRAMES = "android.media.mediaplayer.frames"; - field public static final String FRAMES_DROPPED = "android.media.mediaplayer.dropped"; - field public static final String HEIGHT = "android.media.mediaplayer.height"; - field public static final String MIME_TYPE_AUDIO = "android.media.mediaplayer.audio.mime"; - field public static final String MIME_TYPE_VIDEO = "android.media.mediaplayer.video.mime"; - field public static final String PLAYING = "android.media.mediaplayer.playingMs"; - field public static final String WIDTH = "android.media.mediaplayer.width"; - } - - public static final class MediaPlayer2.NoDrmSchemeException extends android.media.MediaDrmException { - ctor public MediaPlayer2.NoDrmSchemeException(@Nullable String); - } - - public static final class MediaPlayer2.SubtitleData { - method @NonNull public byte[] getData(); - method public long getDurationUs(); - method public long getStartTimeUs(); - method @NonNull public android.media.MediaPlayer2.TrackInfo getTrackInfo(); - } - - public static class MediaPlayer2.TrackInfo { - method @Nullable public android.media.MediaFormat getFormat(); - method @NonNull public String getLanguage(); - method public int getTrackType(); - field public static final int MEDIA_TRACK_TYPE_AUDIO = 2; // 0x2 - field public static final int MEDIA_TRACK_TYPE_METADATA = 5; // 0x5 - field public static final int MEDIA_TRACK_TYPE_SUBTITLE = 4; // 0x4 - field public static final int MEDIA_TRACK_TYPE_UNKNOWN = 0; // 0x0 - field public static final int MEDIA_TRACK_TYPE_VIDEO = 1; // 0x1 - } - public class MediaRecorder implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection { ctor public MediaRecorder(); method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler); diff --git a/api/test-current.txt b/api/test-current.txt index 82f2894a84eae..b138014623ead 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -1124,13 +1124,6 @@ package android.media { method public android.media.BufferingParams.Builder setResumePlaybackMarkMs(int); } - public class FileDataSourceDesc extends android.media.DataSourceDesc { - method public long getLength(); - method public long getOffset(); - method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor(); - field public static final long FD_LENGTH_UNKNOWN = 576460752303423487L; // 0x7ffffffffffffffL - } - public static final class MediaCodecInfo.VideoCapabilities.PerformancePoint { ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(int, int, int, int, @NonNull android.util.Size); ctor public MediaCodecInfo.VideoCapabilities.PerformancePoint(@NonNull android.media.MediaCodecInfo.VideoCapabilities.PerformancePoint, @NonNull android.util.Size); @@ -1139,28 +1132,11 @@ package android.media { method public int getMaxMacroBlocks(); } - public class MediaPlayer2 implements android.media.AudioRouting java.lang.AutoCloseable { - method public android.media.MediaPlayer2.DrmInfo getDrmInfo(@NonNull android.media.DataSourceDesc); - method public android.media.MediaDrm.KeyRequest getDrmKeyRequest(@NonNull android.media.DataSourceDesc, @Nullable byte[], @Nullable byte[], @Nullable String, int, @Nullable java.util.Map) throws android.media.MediaPlayer2.NoDrmSchemeException; - method public String getDrmPropertyString(@NonNull android.media.DataSourceDesc, @NonNull String) throws android.media.MediaPlayer2.NoDrmSchemeException; - method @NonNull public Object prepareDrm(@NonNull android.media.DataSourceDesc, @NonNull java.util.UUID); - method public byte[] provideDrmKeyResponse(@NonNull android.media.DataSourceDesc, @Nullable byte[], @NonNull byte[]) throws android.media.DeniedByServerException, android.media.MediaPlayer2.NoDrmSchemeException; - method public void releaseDrm(@NonNull android.media.DataSourceDesc) throws android.media.MediaPlayer2.NoDrmSchemeException; - method public void restoreDrmKeys(@NonNull android.media.DataSourceDesc, @NonNull byte[]) throws android.media.MediaPlayer2.NoDrmSchemeException; - method public void setDrmPropertyString(@NonNull android.media.DataSourceDesc, @NonNull String, @NonNull String) throws android.media.MediaPlayer2.NoDrmSchemeException; - } - public final class PlaybackParams implements android.os.Parcelable { method public int getAudioStretchMode(); method public android.media.PlaybackParams setAudioStretchMode(int); } - public class UriDataSourceDesc extends android.media.DataSourceDesc { - method @Nullable public java.util.List getCookies(); - method @Nullable public java.util.Map getHeaders(); - method @NonNull public android.net.Uri getUri(); - } - public static final class VolumeShaper.Configuration.Builder { method @NonNull public android.media.VolumeShaper.Configuration.Builder setOptionFlags(int); } diff --git a/media/apex/java/android/media/DataSourceDesc.java b/media/apex/java/android/media/DataSourceDesc.java index d00ff2a709559..9a9c74aba2c7d 100644 --- a/media/apex/java/android/media/DataSourceDesc.java +++ b/media/apex/java/android/media/DataSourceDesc.java @@ -34,6 +34,8 @@ import java.util.Map; * * Used by {@link MediaPlayer2#setDataSource}, {@link MediaPlayer2#setNextDataSource} and * {@link MediaPlayer2#setNextDataSources} to set data source for playback. + * + * @hide */ public class DataSourceDesc { // intentionally less than long.MAX_VALUE diff --git a/media/apex/java/android/media/FileDataSourceDesc.java b/media/apex/java/android/media/FileDataSourceDesc.java index feb67e136d9bc..2aa2cb7eb1bb1 100644 --- a/media/apex/java/android/media/FileDataSourceDesc.java +++ b/media/apex/java/android/media/FileDataSourceDesc.java @@ -17,7 +17,6 @@ package android.media; import android.annotation.NonNull; -import android.annotation.TestApi; import android.os.ParcelFileDescriptor; import android.util.Log; @@ -32,7 +31,6 @@ import java.io.IOException; *

Users should use {@link Builder} to create {@link FileDataSourceDesc}. * @hide */ -@TestApi public class FileDataSourceDesc extends DataSourceDesc { private static final String TAG = "FileDataSourceDesc"; diff --git a/media/apex/java/android/media/MediaPlayer2.java b/media/apex/java/android/media/MediaPlayer2.java index 72c18f6148f09..614d737e37583 100644 --- a/media/apex/java/android/media/MediaPlayer2.java +++ b/media/apex/java/android/media/MediaPlayer2.java @@ -273,6 +273,8 @@ import java.util.concurrent.atomic.AtomicLong; * Then check the status parameter. The value {@link #CALL_STATUS_NO_ERROR} indicates a * successful transition. Any other value will be an error. Call {@link #getState()} to * determine the current state.

+ * + * @hide */ public class MediaPlayer2 implements AutoCloseable, AudioRouting { static { diff --git a/media/apex/java/android/media/UriDataSourceDesc.java b/media/apex/java/android/media/UriDataSourceDesc.java index eaedf1e377e2e..adf7a7ddddb98 100644 --- a/media/apex/java/android/media/UriDataSourceDesc.java +++ b/media/apex/java/android/media/UriDataSourceDesc.java @@ -18,7 +18,6 @@ package android.media; import android.annotation.NonNull; import android.annotation.Nullable; -import android.annotation.TestApi; import android.net.Uri; import java.net.HttpCookie; @@ -36,7 +35,6 @@ import java.util.Map; *

Users should use {@link Builder} to change {@link UriDataSourceDesc}. * @hide */ -@TestApi public class UriDataSourceDesc extends DataSourceDesc { private Uri mUri; private Map mHeader;