Loading api/current.txt +18 −0 Original line number Diff line number Diff line Loading @@ -22101,6 +22101,7 @@ package android.media { method public int getChannelConfiguration(); method public int getChannelCount(); method public android.media.AudioFormat getFormat(); method public android.os.PersistableBundle getMetrics(); method public static int getMinBufferSize(int, int, int); method public int getNotificationMarkerPosition(); method public int getPositionNotificationPeriod(); Loading Loading @@ -22149,6 +22150,14 @@ package android.media { method public android.media.AudioRecord.Builder setBufferSizeInBytes(int) throws java.lang.IllegalArgumentException; } public static final class AudioRecord.MetricsConstants { field public static final java.lang.String CHANNELS = "android.media.audiorecord.channels"; field public static final java.lang.String ENCODING = "android.media.audiorecord.encoding"; field public static final java.lang.String LATENCY = "android.media.audiorecord.latency"; field public static final java.lang.String SAMPLERATE = "android.media.audiorecord.samplerate"; field public static final java.lang.String SOURCE = "android.media.audiorecord.source"; } public static abstract interface AudioRecord.OnRecordPositionUpdateListener { method public abstract void onMarkerReached(android.media.AudioRecord); method public abstract void onPeriodicNotification(android.media.AudioRecord); Loading Loading @@ -22208,6 +22217,7 @@ package android.media { method public int getChannelCount(); method public android.media.AudioFormat getFormat(); method public static float getMaxVolume(); method public android.os.PersistableBundle getMetrics(); method public static int getMinBufferSize(int, int, int); method public static float getMinVolume(); method protected deprecated int getNativeFrameCount(); Loading Loading @@ -22288,6 +22298,14 @@ package android.media { method public android.media.AudioTrack.Builder setTransferMode(int) throws java.lang.IllegalArgumentException; } public static final class AudioTrack.MetricsConstants { field public static final java.lang.String CHANNELMASK = "android.media.audiorecord.channelmask"; field public static final java.lang.String CONTENTTYPE = "android.media.audiotrack.type"; field public static final java.lang.String SAMPLERATE = "android.media.audiorecord.samplerate"; field public static final java.lang.String STREAMTYPE = "android.media.audiotrack.streamtype"; field public static final java.lang.String USAGE = "android.media.audiotrack.usage"; } public static abstract interface AudioTrack.OnPlaybackPositionUpdateListener { method public abstract void onMarkerReached(android.media.AudioTrack); method public abstract void onPeriodicNotification(android.media.AudioTrack); core/jni/Android.bp +2 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,7 @@ cc_library_shared { "android_media_AudioTrack.cpp", "android_media_DeviceCallback.cpp", "android_media_JetPlayer.cpp", "android_media_MediaMetricsJNI.cpp", "android_media_RemoteDisplay.cpp", "android_media_ToneGenerator.cpp", "android_hardware_Camera.cpp", Loading Loading @@ -261,6 +262,7 @@ cc_library_shared { "libselinux", "libicuuc", "libmedia", "libmediametrics", "libaudioclient", "libjpeg", "libusbhost", Loading core/jni/android_media_AudioRecord.cpp +36 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ #include "android_media_AudioFormat.h" #include "android_media_AudioErrors.h" #include "android_media_DeviceCallback.h" #include "android_media_MediaMetricsJNI.h" // ---------------------------------------------------------------------------- Loading Loading @@ -750,6 +751,39 @@ static jint android_media_AudioRecord_get_timestamp(JNIEnv *env, jobject thiz, return status; } // ---------------------------------------------------------------------------- static jobject android_media_AudioRecord_native_getMetrics(JNIEnv *env, jobject thiz) { ALOGV("android_media_AudioRecord_native_getMetrics"); sp<AudioRecord> lpRecord = getAudioRecord(env, thiz); if (lpRecord == NULL) { ALOGE("Unable to retrieve AudioRecord pointer for getMetrics()"); jniThrowException(env, "java/lang/IllegalStateException", NULL); return (jobject) NULL; } // get what we have for the metrics from the record session MediaAnalyticsItem *item = NULL; status_t err = lpRecord->getMetrics(item); if (err != OK) { ALOGE("getMetrics failed"); jniThrowException(env, "java/lang/IllegalStateException", NULL); return (jobject) NULL; } jobject mybundle = MediaMetricsJNI::writeMetricsToBundle(env, item, NULL /* mybundle */); // housekeeping delete item; item = NULL; return mybundle; } // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- static const JNINativeMethod gMethods[] = { Loading Loading @@ -781,6 +815,8 @@ static const JNINativeMethod gMethods[] = { "()I", (void *)android_media_AudioRecord_get_pos_update_period}, {"native_get_min_buff_size", "(III)I", (void *)android_media_AudioRecord_get_min_buff_size}, {"native_getMetrics", "()Landroid/os/PersistableBundle;", (void *)android_media_AudioRecord_native_getMetrics}, {"native_setInputDevice", "(I)Z", (void *)android_media_AudioRecord_setInputDevice}, {"native_getRoutedDeviceId", "()I", (void *)android_media_AudioRecord_getRoutedDeviceId}, {"native_enableDeviceCallback", "()V", (void *)android_media_AudioRecord_enableDeviceCallback}, Loading core/jni/android_media_AudioTrack.cpp +36 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ #include "android_media_AudioFormat.h" #include "android_media_AudioErrors.h" #include "android_media_MediaMetricsJNI.h" #include "android_media_PlaybackParams.h" #include "android_media_DeviceCallback.h" #include "android_media_VolumeShaper.h" Loading Loading @@ -1011,6 +1012,39 @@ static jint android_media_AudioTrack_get_timestamp(JNIEnv *env, jobject thiz, j return (jint) nativeToJavaStatus(status); } // ---------------------------------------------------------------------------- static jobject android_media_AudioTrack_native_getMetrics(JNIEnv *env, jobject thiz) { ALOGD("android_media_AudioTrack_native_getMetrics"); sp<AudioTrack> lpTrack = getAudioTrack(env, thiz); if (lpTrack == NULL) { ALOGE("Unable to retrieve AudioTrack pointer for getMetrics()"); jniThrowException(env, "java/lang/IllegalStateException", NULL); return (jobject) NULL; } // get what we have for the metrics from the track MediaAnalyticsItem *item = NULL; status_t err = lpTrack->getMetrics(item); if (err != OK) { ALOGE("getMetrics failed"); jniThrowException(env, "java/lang/IllegalStateException", NULL); return (jobject) NULL; } jobject mybundle = MediaMetricsJNI::writeMetricsToBundle(env, item, NULL /* mybundle */); // housekeeping delete item; item = NULL; return mybundle; } // ---------------------------------------------------------------------------- static jint android_media_AudioTrack_set_loop(JNIEnv *env, jobject thiz, Loading Loading @@ -1275,6 +1309,8 @@ static const JNINativeMethod gMethods[] = { {"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_getMetrics", "()Landroid/os/PersistableBundle;", (void *)android_media_AudioTrack_native_getMetrics}, {"native_set_loop", "(III)I", (void *)android_media_AudioTrack_set_loop}, {"native_reload_static", "()I", (void *)android_media_AudioTrack_reload}, {"native_get_output_sample_rate", Loading media/jni/android_media_MediaMetricsJNI.cpp→core/jni/android_media_MediaMetricsJNI.cpp +0 −0 File moved. View file Loading
api/current.txt +18 −0 Original line number Diff line number Diff line Loading @@ -22101,6 +22101,7 @@ package android.media { method public int getChannelConfiguration(); method public int getChannelCount(); method public android.media.AudioFormat getFormat(); method public android.os.PersistableBundle getMetrics(); method public static int getMinBufferSize(int, int, int); method public int getNotificationMarkerPosition(); method public int getPositionNotificationPeriod(); Loading Loading @@ -22149,6 +22150,14 @@ package android.media { method public android.media.AudioRecord.Builder setBufferSizeInBytes(int) throws java.lang.IllegalArgumentException; } public static final class AudioRecord.MetricsConstants { field public static final java.lang.String CHANNELS = "android.media.audiorecord.channels"; field public static final java.lang.String ENCODING = "android.media.audiorecord.encoding"; field public static final java.lang.String LATENCY = "android.media.audiorecord.latency"; field public static final java.lang.String SAMPLERATE = "android.media.audiorecord.samplerate"; field public static final java.lang.String SOURCE = "android.media.audiorecord.source"; } public static abstract interface AudioRecord.OnRecordPositionUpdateListener { method public abstract void onMarkerReached(android.media.AudioRecord); method public abstract void onPeriodicNotification(android.media.AudioRecord); Loading Loading @@ -22208,6 +22217,7 @@ package android.media { method public int getChannelCount(); method public android.media.AudioFormat getFormat(); method public static float getMaxVolume(); method public android.os.PersistableBundle getMetrics(); method public static int getMinBufferSize(int, int, int); method public static float getMinVolume(); method protected deprecated int getNativeFrameCount(); Loading Loading @@ -22288,6 +22298,14 @@ package android.media { method public android.media.AudioTrack.Builder setTransferMode(int) throws java.lang.IllegalArgumentException; } public static final class AudioTrack.MetricsConstants { field public static final java.lang.String CHANNELMASK = "android.media.audiorecord.channelmask"; field public static final java.lang.String CONTENTTYPE = "android.media.audiotrack.type"; field public static final java.lang.String SAMPLERATE = "android.media.audiorecord.samplerate"; field public static final java.lang.String STREAMTYPE = "android.media.audiotrack.streamtype"; field public static final java.lang.String USAGE = "android.media.audiotrack.usage"; } public static abstract interface AudioTrack.OnPlaybackPositionUpdateListener { method public abstract void onMarkerReached(android.media.AudioTrack); method public abstract void onPeriodicNotification(android.media.AudioTrack);
core/jni/Android.bp +2 −0 Original line number Diff line number Diff line Loading @@ -163,6 +163,7 @@ cc_library_shared { "android_media_AudioTrack.cpp", "android_media_DeviceCallback.cpp", "android_media_JetPlayer.cpp", "android_media_MediaMetricsJNI.cpp", "android_media_RemoteDisplay.cpp", "android_media_ToneGenerator.cpp", "android_hardware_Camera.cpp", Loading Loading @@ -261,6 +262,7 @@ cc_library_shared { "libselinux", "libicuuc", "libmedia", "libmediametrics", "libaudioclient", "libjpeg", "libusbhost", Loading
core/jni/android_media_AudioRecord.cpp +36 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ #include "android_media_AudioFormat.h" #include "android_media_AudioErrors.h" #include "android_media_DeviceCallback.h" #include "android_media_MediaMetricsJNI.h" // ---------------------------------------------------------------------------- Loading Loading @@ -750,6 +751,39 @@ static jint android_media_AudioRecord_get_timestamp(JNIEnv *env, jobject thiz, return status; } // ---------------------------------------------------------------------------- static jobject android_media_AudioRecord_native_getMetrics(JNIEnv *env, jobject thiz) { ALOGV("android_media_AudioRecord_native_getMetrics"); sp<AudioRecord> lpRecord = getAudioRecord(env, thiz); if (lpRecord == NULL) { ALOGE("Unable to retrieve AudioRecord pointer for getMetrics()"); jniThrowException(env, "java/lang/IllegalStateException", NULL); return (jobject) NULL; } // get what we have for the metrics from the record session MediaAnalyticsItem *item = NULL; status_t err = lpRecord->getMetrics(item); if (err != OK) { ALOGE("getMetrics failed"); jniThrowException(env, "java/lang/IllegalStateException", NULL); return (jobject) NULL; } jobject mybundle = MediaMetricsJNI::writeMetricsToBundle(env, item, NULL /* mybundle */); // housekeeping delete item; item = NULL; return mybundle; } // ---------------------------------------------------------------------------- // ---------------------------------------------------------------------------- static const JNINativeMethod gMethods[] = { Loading Loading @@ -781,6 +815,8 @@ static const JNINativeMethod gMethods[] = { "()I", (void *)android_media_AudioRecord_get_pos_update_period}, {"native_get_min_buff_size", "(III)I", (void *)android_media_AudioRecord_get_min_buff_size}, {"native_getMetrics", "()Landroid/os/PersistableBundle;", (void *)android_media_AudioRecord_native_getMetrics}, {"native_setInputDevice", "(I)Z", (void *)android_media_AudioRecord_setInputDevice}, {"native_getRoutedDeviceId", "()I", (void *)android_media_AudioRecord_getRoutedDeviceId}, {"native_enableDeviceCallback", "()V", (void *)android_media_AudioRecord_enableDeviceCallback}, Loading
core/jni/android_media_AudioTrack.cpp +36 −0 Original line number Diff line number Diff line Loading @@ -34,6 +34,7 @@ #include "android_media_AudioFormat.h" #include "android_media_AudioErrors.h" #include "android_media_MediaMetricsJNI.h" #include "android_media_PlaybackParams.h" #include "android_media_DeviceCallback.h" #include "android_media_VolumeShaper.h" Loading Loading @@ -1011,6 +1012,39 @@ static jint android_media_AudioTrack_get_timestamp(JNIEnv *env, jobject thiz, j return (jint) nativeToJavaStatus(status); } // ---------------------------------------------------------------------------- static jobject android_media_AudioTrack_native_getMetrics(JNIEnv *env, jobject thiz) { ALOGD("android_media_AudioTrack_native_getMetrics"); sp<AudioTrack> lpTrack = getAudioTrack(env, thiz); if (lpTrack == NULL) { ALOGE("Unable to retrieve AudioTrack pointer for getMetrics()"); jniThrowException(env, "java/lang/IllegalStateException", NULL); return (jobject) NULL; } // get what we have for the metrics from the track MediaAnalyticsItem *item = NULL; status_t err = lpTrack->getMetrics(item); if (err != OK) { ALOGE("getMetrics failed"); jniThrowException(env, "java/lang/IllegalStateException", NULL); return (jobject) NULL; } jobject mybundle = MediaMetricsJNI::writeMetricsToBundle(env, item, NULL /* mybundle */); // housekeeping delete item; item = NULL; return mybundle; } // ---------------------------------------------------------------------------- static jint android_media_AudioTrack_set_loop(JNIEnv *env, jobject thiz, Loading Loading @@ -1275,6 +1309,8 @@ static const JNINativeMethod gMethods[] = { {"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_getMetrics", "()Landroid/os/PersistableBundle;", (void *)android_media_AudioTrack_native_getMetrics}, {"native_set_loop", "(III)I", (void *)android_media_AudioTrack_set_loop}, {"native_reload_static", "()I", (void *)android_media_AudioTrack_reload}, {"native_get_output_sample_rate", Loading
media/jni/android_media_MediaMetricsJNI.cpp→core/jni/android_media_MediaMetricsJNI.cpp +0 −0 File moved. View file