Loading api/current.txt +6 −1 Original line number Diff line number Diff line Loading @@ -20382,7 +20382,7 @@ package android.media { field public static final android.os.Parcelable.Creator<android.media.AudioAttributes> CREATOR; field public static final int FLAG_AUDIBILITY_ENFORCED = 1; // 0x1 field public static final int FLAG_HW_AV_SYNC = 16; // 0x10 field public static final int FLAG_LOW_LATENCY = 256; // 0x100 field public static final deprecated int FLAG_LOW_LATENCY = 256; // 0x100 field public static final int USAGE_ALARM = 4; // 0x4 field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc Loading Loading @@ -20823,6 +20823,7 @@ package android.media { method protected deprecated int getNativeFrameCount(); method public static int getNativeOutputSampleRate(int); method public int getNotificationMarkerPosition(); method public int getPerformanceMode(); method public int getPlayState(); method public int getPlaybackHeadPosition(); method public android.media.PlaybackParams getPlaybackParams(); Loading Loading @@ -20869,6 +20870,9 @@ package android.media { field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd field public static final int MODE_STATIC = 0; // 0x0 field public static final int MODE_STREAM = 1; // 0x1 field public static final int PERFORMANCE_MODE_LOW_LATENCY = 1; // 0x1 field public static final int PERFORMANCE_MODE_NONE = 0; // 0x0 field public static final int PERFORMANCE_MODE_POWER_SAVING = 2; // 0x2 field public static final int PLAYSTATE_PAUSED = 2; // 0x2 field public static final int PLAYSTATE_PLAYING = 3; // 0x3 field public static final int PLAYSTATE_STOPPED = 1; // 0x1 Loading @@ -20886,6 +20890,7 @@ package android.media { method public android.media.AudioTrack.Builder setAudioAttributes(android.media.AudioAttributes) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setAudioFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setBufferSizeInBytes(int) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setPerformanceMode(int); method public android.media.AudioTrack.Builder setSessionId(int) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setTransferMode(int) throws java.lang.IllegalArgumentException; } api/system-current.txt +6 −1 Original line number Diff line number Diff line Loading @@ -21937,7 +21937,7 @@ package android.media { field public static final int FLAG_BYPASS_MUTE = 128; // 0x80 field public static final int FLAG_HW_AV_SYNC = 16; // 0x10 field public static final int FLAG_HW_HOTWORD = 32; // 0x20 field public static final int FLAG_LOW_LATENCY = 256; // 0x100 field public static final deprecated int FLAG_LOW_LATENCY = 256; // 0x100 field public static final int USAGE_ALARM = 4; // 0x4 field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc Loading Loading @@ -22423,6 +22423,7 @@ package android.media { method protected deprecated int getNativeFrameCount(); method public static int getNativeOutputSampleRate(int); method public int getNotificationMarkerPosition(); method public int getPerformanceMode(); method public int getPlayState(); method public int getPlaybackHeadPosition(); method public android.media.PlaybackParams getPlaybackParams(); Loading Loading @@ -22469,6 +22470,9 @@ package android.media { field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd field public static final int MODE_STATIC = 0; // 0x0 field public static final int MODE_STREAM = 1; // 0x1 field public static final int PERFORMANCE_MODE_LOW_LATENCY = 1; // 0x1 field public static final int PERFORMANCE_MODE_NONE = 0; // 0x0 field public static final int PERFORMANCE_MODE_POWER_SAVING = 2; // 0x2 field public static final int PLAYSTATE_PAUSED = 2; // 0x2 field public static final int PLAYSTATE_PLAYING = 3; // 0x3 field public static final int PLAYSTATE_STOPPED = 1; // 0x1 Loading @@ -22486,6 +22490,7 @@ package android.media { method public android.media.AudioTrack.Builder setAudioAttributes(android.media.AudioAttributes) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setAudioFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setBufferSizeInBytes(int) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setPerformanceMode(int); method public android.media.AudioTrack.Builder setSessionId(int) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setTransferMode(int) throws java.lang.IllegalArgumentException; } api/test-current.txt +6 −1 Original line number Diff line number Diff line Loading @@ -20472,7 +20472,7 @@ package android.media { field public static final android.os.Parcelable.Creator<android.media.AudioAttributes> CREATOR; field public static final int FLAG_AUDIBILITY_ENFORCED = 1; // 0x1 field public static final int FLAG_HW_AV_SYNC = 16; // 0x10 field public static final int FLAG_LOW_LATENCY = 256; // 0x100 field public static final deprecated int FLAG_LOW_LATENCY = 256; // 0x100 field public static final int USAGE_ALARM = 4; // 0x4 field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc Loading Loading @@ -20913,6 +20913,7 @@ package android.media { method protected deprecated int getNativeFrameCount(); method public static int getNativeOutputSampleRate(int); method public int getNotificationMarkerPosition(); method public int getPerformanceMode(); method public int getPlayState(); method public int getPlaybackHeadPosition(); method public android.media.PlaybackParams getPlaybackParams(); Loading Loading @@ -20959,6 +20960,9 @@ package android.media { field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd field public static final int MODE_STATIC = 0; // 0x0 field public static final int MODE_STREAM = 1; // 0x1 field public static final int PERFORMANCE_MODE_LOW_LATENCY = 1; // 0x1 field public static final int PERFORMANCE_MODE_NONE = 0; // 0x0 field public static final int PERFORMANCE_MODE_POWER_SAVING = 2; // 0x2 field public static final int PLAYSTATE_PAUSED = 2; // 0x2 field public static final int PLAYSTATE_PLAYING = 3; // 0x3 field public static final int PLAYSTATE_STOPPED = 1; // 0x1 Loading @@ -20976,6 +20980,7 @@ package android.media { method public android.media.AudioTrack.Builder setAudioAttributes(android.media.AudioAttributes) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setAudioFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setBufferSizeInBytes(int) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setPerformanceMode(int); method public android.media.AudioTrack.Builder setSessionId(int) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setTransferMode(int) throws java.lang.IllegalArgumentException; } core/jni/android_media_AudioTrack.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -971,6 +971,18 @@ static jint android_media_AudioTrack_get_underrun_count(JNIEnv *env, jobject th return (jint)lpTrack->getUnderrunCount(); } // ---------------------------------------------------------------------------- static jint android_media_AudioTrack_get_flags(JNIEnv *env, jobject thiz) { sp<AudioTrack> lpTrack = getAudioTrack(env, thiz); if (lpTrack == NULL) { jniThrowException(env, "java/lang/IllegalStateException", "Unable to retrieve AudioTrack pointer for getFlags()"); return (jint)AUDIO_JAVA_ERROR; } return (jint)lpTrack->getFlags(); } // ---------------------------------------------------------------------------- static jint android_media_AudioTrack_get_timestamp(JNIEnv *env, jobject thiz, jlongArray jTimestamp) { sp<AudioTrack> lpTrack = getAudioTrack(env, thiz); Loading Loading @@ -1212,6 +1224,7 @@ static const JNINativeMethod gMethods[] = { {"native_get_position", "()I", (void *)android_media_AudioTrack_get_position}, {"native_get_latency", "()I", (void *)android_media_AudioTrack_get_latency}, {"native_get_underrun_count", "()I", (void *)android_media_AudioTrack_get_underrun_count}, {"native_get_flags", "()I", (void *)android_media_AudioTrack_get_flags}, {"native_get_timestamp", "([J)I", (void *)android_media_AudioTrack_get_timestamp}, {"native_set_loop", "(III)I", (void *)android_media_AudioTrack_set_loop}, {"native_reload_static", "()I", (void *)android_media_AudioTrack_reload}, Loading media/java/android/media/AudioAttributes.java +28 −1 Original line number Diff line number Diff line Loading @@ -306,12 +306,26 @@ public final class AudioAttributes implements Parcelable { * until there are no glitches. * This tuning step should be done while playing silence. * This technique provides a compromise between latency and glitch rate. * * @deprecated Use {@link AudioTrack.Builder#setPerformanceMode(int)} with * {@link AudioTrack#PERFORMANCE_MODE_LOW_LATENCY} to control performance. */ public final static int FLAG_LOW_LATENCY = 0x1 << 8; /** * @hide * Flag requesting a deep buffer path when creating an {@code AudioTrack}. * * A deep buffer path, if available, may consume less power and is * suitable for media playback where latency is not a concern. * Use {@link AudioTrack.Builder#setPerformanceMode(int)} with * {@link AudioTrack#PERFORMANCE_MODE_POWER_SAVING} to enable. */ public final static int FLAG_DEEP_BUFFER = 0x1 << 9; private final static int FLAG_ALL = FLAG_AUDIBILITY_ENFORCED | FLAG_SECURE | FLAG_SCO | FLAG_BEACON | FLAG_HW_AV_SYNC | FLAG_HW_HOTWORD | FLAG_BYPASS_INTERRUPTION_POLICY | FLAG_BYPASS_MUTE | FLAG_LOW_LATENCY; FLAG_BYPASS_MUTE | FLAG_LOW_LATENCY | FLAG_DEEP_BUFFER; private final static int FLAG_ALL_PUBLIC = FLAG_AUDIBILITY_ENFORCED | FLAG_HW_AV_SYNC | FLAG_LOW_LATENCY; Loading Loading @@ -541,6 +555,8 @@ public final class AudioAttributes implements Parcelable { /** * Sets the combination of flags. * * This is a bitwise OR with the existing flags. * @param flags a combination of {@link AudioAttributes#FLAG_AUDIBILITY_ENFORCED}, * {@link AudioAttributes#FLAG_HW_AV_SYNC}. * @return the same Builder instance. Loading @@ -551,6 +567,17 @@ public final class AudioAttributes implements Parcelable { return this; } /** * @hide * Replaces flags. * @param flags any combination of {@link AudioAttributes#FLAG_ALL}. * @return the same Builder instance. */ public Builder replaceFlags(int flags) { mFlags = flags & AudioAttributes.FLAG_ALL; return this; } /** * @hide * Adds a Bundle of data Loading Loading
api/current.txt +6 −1 Original line number Diff line number Diff line Loading @@ -20382,7 +20382,7 @@ package android.media { field public static final android.os.Parcelable.Creator<android.media.AudioAttributes> CREATOR; field public static final int FLAG_AUDIBILITY_ENFORCED = 1; // 0x1 field public static final int FLAG_HW_AV_SYNC = 16; // 0x10 field public static final int FLAG_LOW_LATENCY = 256; // 0x100 field public static final deprecated int FLAG_LOW_LATENCY = 256; // 0x100 field public static final int USAGE_ALARM = 4; // 0x4 field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc Loading Loading @@ -20823,6 +20823,7 @@ package android.media { method protected deprecated int getNativeFrameCount(); method public static int getNativeOutputSampleRate(int); method public int getNotificationMarkerPosition(); method public int getPerformanceMode(); method public int getPlayState(); method public int getPlaybackHeadPosition(); method public android.media.PlaybackParams getPlaybackParams(); Loading Loading @@ -20869,6 +20870,9 @@ package android.media { field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd field public static final int MODE_STATIC = 0; // 0x0 field public static final int MODE_STREAM = 1; // 0x1 field public static final int PERFORMANCE_MODE_LOW_LATENCY = 1; // 0x1 field public static final int PERFORMANCE_MODE_NONE = 0; // 0x0 field public static final int PERFORMANCE_MODE_POWER_SAVING = 2; // 0x2 field public static final int PLAYSTATE_PAUSED = 2; // 0x2 field public static final int PLAYSTATE_PLAYING = 3; // 0x3 field public static final int PLAYSTATE_STOPPED = 1; // 0x1 Loading @@ -20886,6 +20890,7 @@ package android.media { method public android.media.AudioTrack.Builder setAudioAttributes(android.media.AudioAttributes) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setAudioFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setBufferSizeInBytes(int) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setPerformanceMode(int); method public android.media.AudioTrack.Builder setSessionId(int) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setTransferMode(int) throws java.lang.IllegalArgumentException; }
api/system-current.txt +6 −1 Original line number Diff line number Diff line Loading @@ -21937,7 +21937,7 @@ package android.media { field public static final int FLAG_BYPASS_MUTE = 128; // 0x80 field public static final int FLAG_HW_AV_SYNC = 16; // 0x10 field public static final int FLAG_HW_HOTWORD = 32; // 0x20 field public static final int FLAG_LOW_LATENCY = 256; // 0x100 field public static final deprecated int FLAG_LOW_LATENCY = 256; // 0x100 field public static final int USAGE_ALARM = 4; // 0x4 field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc Loading Loading @@ -22423,6 +22423,7 @@ package android.media { method protected deprecated int getNativeFrameCount(); method public static int getNativeOutputSampleRate(int); method public int getNotificationMarkerPosition(); method public int getPerformanceMode(); method public int getPlayState(); method public int getPlaybackHeadPosition(); method public android.media.PlaybackParams getPlaybackParams(); Loading Loading @@ -22469,6 +22470,9 @@ package android.media { field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd field public static final int MODE_STATIC = 0; // 0x0 field public static final int MODE_STREAM = 1; // 0x1 field public static final int PERFORMANCE_MODE_LOW_LATENCY = 1; // 0x1 field public static final int PERFORMANCE_MODE_NONE = 0; // 0x0 field public static final int PERFORMANCE_MODE_POWER_SAVING = 2; // 0x2 field public static final int PLAYSTATE_PAUSED = 2; // 0x2 field public static final int PLAYSTATE_PLAYING = 3; // 0x3 field public static final int PLAYSTATE_STOPPED = 1; // 0x1 Loading @@ -22486,6 +22490,7 @@ package android.media { method public android.media.AudioTrack.Builder setAudioAttributes(android.media.AudioAttributes) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setAudioFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setBufferSizeInBytes(int) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setPerformanceMode(int); method public android.media.AudioTrack.Builder setSessionId(int) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setTransferMode(int) throws java.lang.IllegalArgumentException; }
api/test-current.txt +6 −1 Original line number Diff line number Diff line Loading @@ -20472,7 +20472,7 @@ package android.media { field public static final android.os.Parcelable.Creator<android.media.AudioAttributes> CREATOR; field public static final int FLAG_AUDIBILITY_ENFORCED = 1; // 0x1 field public static final int FLAG_HW_AV_SYNC = 16; // 0x10 field public static final int FLAG_LOW_LATENCY = 256; // 0x100 field public static final deprecated int FLAG_LOW_LATENCY = 256; // 0x100 field public static final int USAGE_ALARM = 4; // 0x4 field public static final int USAGE_ASSISTANCE_ACCESSIBILITY = 11; // 0xb field public static final int USAGE_ASSISTANCE_NAVIGATION_GUIDANCE = 12; // 0xc Loading Loading @@ -20913,6 +20913,7 @@ package android.media { method protected deprecated int getNativeFrameCount(); method public static int getNativeOutputSampleRate(int); method public int getNotificationMarkerPosition(); method public int getPerformanceMode(); method public int getPlayState(); method public int getPlaybackHeadPosition(); method public android.media.PlaybackParams getPlaybackParams(); Loading Loading @@ -20959,6 +20960,9 @@ package android.media { field public static final int ERROR_INVALID_OPERATION = -3; // 0xfffffffd field public static final int MODE_STATIC = 0; // 0x0 field public static final int MODE_STREAM = 1; // 0x1 field public static final int PERFORMANCE_MODE_LOW_LATENCY = 1; // 0x1 field public static final int PERFORMANCE_MODE_NONE = 0; // 0x0 field public static final int PERFORMANCE_MODE_POWER_SAVING = 2; // 0x2 field public static final int PLAYSTATE_PAUSED = 2; // 0x2 field public static final int PLAYSTATE_PLAYING = 3; // 0x3 field public static final int PLAYSTATE_STOPPED = 1; // 0x1 Loading @@ -20976,6 +20980,7 @@ package android.media { method public android.media.AudioTrack.Builder setAudioAttributes(android.media.AudioAttributes) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setAudioFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setBufferSizeInBytes(int) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setPerformanceMode(int); method public android.media.AudioTrack.Builder setSessionId(int) throws java.lang.IllegalArgumentException; method public android.media.AudioTrack.Builder setTransferMode(int) throws java.lang.IllegalArgumentException; }
core/jni/android_media_AudioTrack.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -971,6 +971,18 @@ static jint android_media_AudioTrack_get_underrun_count(JNIEnv *env, jobject th return (jint)lpTrack->getUnderrunCount(); } // ---------------------------------------------------------------------------- static jint android_media_AudioTrack_get_flags(JNIEnv *env, jobject thiz) { sp<AudioTrack> lpTrack = getAudioTrack(env, thiz); if (lpTrack == NULL) { jniThrowException(env, "java/lang/IllegalStateException", "Unable to retrieve AudioTrack pointer for getFlags()"); return (jint)AUDIO_JAVA_ERROR; } return (jint)lpTrack->getFlags(); } // ---------------------------------------------------------------------------- static jint android_media_AudioTrack_get_timestamp(JNIEnv *env, jobject thiz, jlongArray jTimestamp) { sp<AudioTrack> lpTrack = getAudioTrack(env, thiz); Loading Loading @@ -1212,6 +1224,7 @@ static const JNINativeMethod gMethods[] = { {"native_get_position", "()I", (void *)android_media_AudioTrack_get_position}, {"native_get_latency", "()I", (void *)android_media_AudioTrack_get_latency}, {"native_get_underrun_count", "()I", (void *)android_media_AudioTrack_get_underrun_count}, {"native_get_flags", "()I", (void *)android_media_AudioTrack_get_flags}, {"native_get_timestamp", "([J)I", (void *)android_media_AudioTrack_get_timestamp}, {"native_set_loop", "(III)I", (void *)android_media_AudioTrack_set_loop}, {"native_reload_static", "()I", (void *)android_media_AudioTrack_reload}, Loading
media/java/android/media/AudioAttributes.java +28 −1 Original line number Diff line number Diff line Loading @@ -306,12 +306,26 @@ public final class AudioAttributes implements Parcelable { * until there are no glitches. * This tuning step should be done while playing silence. * This technique provides a compromise between latency and glitch rate. * * @deprecated Use {@link AudioTrack.Builder#setPerformanceMode(int)} with * {@link AudioTrack#PERFORMANCE_MODE_LOW_LATENCY} to control performance. */ public final static int FLAG_LOW_LATENCY = 0x1 << 8; /** * @hide * Flag requesting a deep buffer path when creating an {@code AudioTrack}. * * A deep buffer path, if available, may consume less power and is * suitable for media playback where latency is not a concern. * Use {@link AudioTrack.Builder#setPerformanceMode(int)} with * {@link AudioTrack#PERFORMANCE_MODE_POWER_SAVING} to enable. */ public final static int FLAG_DEEP_BUFFER = 0x1 << 9; private final static int FLAG_ALL = FLAG_AUDIBILITY_ENFORCED | FLAG_SECURE | FLAG_SCO | FLAG_BEACON | FLAG_HW_AV_SYNC | FLAG_HW_HOTWORD | FLAG_BYPASS_INTERRUPTION_POLICY | FLAG_BYPASS_MUTE | FLAG_LOW_LATENCY; FLAG_BYPASS_MUTE | FLAG_LOW_LATENCY | FLAG_DEEP_BUFFER; private final static int FLAG_ALL_PUBLIC = FLAG_AUDIBILITY_ENFORCED | FLAG_HW_AV_SYNC | FLAG_LOW_LATENCY; Loading Loading @@ -541,6 +555,8 @@ public final class AudioAttributes implements Parcelable { /** * Sets the combination of flags. * * This is a bitwise OR with the existing flags. * @param flags a combination of {@link AudioAttributes#FLAG_AUDIBILITY_ENFORCED}, * {@link AudioAttributes#FLAG_HW_AV_SYNC}. * @return the same Builder instance. Loading @@ -551,6 +567,17 @@ public final class AudioAttributes implements Parcelable { return this; } /** * @hide * Replaces flags. * @param flags any combination of {@link AudioAttributes#FLAG_ALL}. * @return the same Builder instance. */ public Builder replaceFlags(int flags) { mFlags = flags & AudioAttributes.FLAG_ALL; return this; } /** * @hide * Adds a Bundle of data Loading