Add traces for measure Audio-Haptics latency (SoundPool)
Flag: EXEMPT refactor
Bug: 351968966
Test: play audio-haptic with go/get-audio-haptic-tests and
dump perfetto trace
Change-Id: I342b239673c10a6437e59e1be81c8d89162a4e87
diff --git a/media/java/android/media/SoundPool.java b/media/java/android/media/SoundPool.java
index f33a744..7b9ff23 100644
--- a/media/java/android/media/SoundPool.java
+++ b/media/java/android/media/SoundPool.java
@@ -26,6 +26,7 @@
import android.os.Looper;
import android.os.Message;
import android.os.ParcelFileDescriptor;
+import android.os.Trace;
import android.util.AndroidRuntimeException;
import android.util.Log;
@@ -314,8 +315,13 @@
public final int play(int soundID, float leftVolume, float rightVolume,
int priority, int loop, float rate) {
// FIXME: b/174876164 implement device id for soundpool
- baseStart(0);
- return _play(soundID, leftVolume, rightVolume, priority, loop, rate, getPlayerIId());
+ try {
+ Trace.traceBegin(Trace.TRACE_TAG_AUDIO, "SoundPool.play");
+ baseStart(0);
+ return _play(soundID, leftVolume, rightVolume, priority, loop, rate, getPlayerIId());
+ } finally {
+ Trace.traceEnd(Trace.TRACE_TAG_AUDIO);
+ }
}
/**
diff --git a/media/jni/soundpool/SoundPool.cpp b/media/jni/soundpool/SoundPool.cpp
index 9f32a83..4c0b8d0 100644
--- a/media/jni/soundpool/SoundPool.cpp
+++ b/media/jni/soundpool/SoundPool.cpp
@@ -21,6 +21,9 @@
#include <algorithm>
#include <thread>
+#define ATRACE_TAG ATRACE_TAG_AUDIO
+#include <utils/Trace.h>
+
#include "SoundPool.h"
namespace android
@@ -135,8 +138,10 @@
return 0;
}
+ ATRACE_BEGIN("SoundPool::play (native)");
const int32_t streamID = mStreamManager.queueForPlay(
sound, soundID, leftVolume, rightVolume, priority, loop, rate, playerIId);
+ ATRACE_END();
ALOGV("%s returned %d", __func__, streamID);
return streamID;