summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Hung <hunga@google.com>2022-06-16 16:37:45 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2022-06-16 16:37:45 +0000
commit30283e66855562eb91dd5eac089505b4ae182eda (patch)
tree691134177cc45617808ccef1281f830cc5b751b2
parent5d44ea6a4d19f3cf0a159f25fa15674384926623 (diff)
parente781a1435f3a3ef9892d47bf4b75de13072d5f9a (diff)
downloadcts-30283e66855562eb91dd5eac089505b4ae182eda.tar.gz
Merge "VolumeShaperTest: Avoid media-time volume shaper on offload path" into tm-dev
-rw-r--r--tests/tests/media/audio/src/android/media/audio/cts/VolumeShaperTest.java23
1 files changed, 19 insertions, 4 deletions
diff --git a/tests/tests/media/audio/src/android/media/audio/cts/VolumeShaperTest.java b/tests/tests/media/audio/src/android/media/audio/cts/VolumeShaperTest.java
index a8efc9b269a..9bdd2a0356b 100644
--- a/tests/tests/media/audio/src/android/media/audio/cts/VolumeShaperTest.java
+++ b/tests/tests/media/audio/src/android/media/audio/cts/VolumeShaperTest.java
@@ -17,6 +17,7 @@
package android.media.audio.cts;
import static com.google.common.truth.Truth.assertThat;
+
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
@@ -191,7 +192,7 @@ public class VolumeShaperTest {
.isLowRamDevice();
}
- private static AudioTrack createSineAudioTrack() {
+ private static AudioTrack createSineAudioTrack(boolean allowOffload) {
final int TEST_FORMAT = AudioFormat.ENCODING_PCM_FLOAT;
final int TEST_MODE = AudioTrack.MODE_STATIC;
final int TEST_SR = 48000;
@@ -203,8 +204,13 @@ public class VolumeShaperTest {
final int frameCount = AudioHelper.frameCountFromMsec(100 /*ms*/, format);
final int frameSize = AudioHelper.frameSizeFromFormat(format);
+ final int usage = allowOffload
+ ? AudioAttributes.USAGE_MEDIA : AudioAttributes.USAGE_ALARM;
final AudioTrack audioTrack = new AudioTrack.Builder()
+ .setAudioAttributes(new AudioAttributes.Builder()
+ .setUsage(usage)
+ .build())
.setAudioFormat(format)
.setBufferSizeInBytes(frameCount * frameSize)
.setTransferMode(TEST_MODE)
@@ -268,8 +274,8 @@ public class VolumeShaperTest {
}
private static class AudioTrackPlayer implements Player {
- public AudioTrackPlayer() {
- mTrack = createSineAudioTrack();
+ AudioTrackPlayer(boolean allowOffload) {
+ mTrack = createSineAudioTrack(allowOffload);
mName = new String("AudioTrack");
}
@@ -341,11 +347,14 @@ public class VolumeShaperTest {
private static final int PLAYER_TYPE_AUDIO_TRACK = 0;
private static final int PLAYER_TYPE_MEDIA_PLAYER_NON_OFFLOADED = 1;
private static final int PLAYER_TYPE_MEDIA_PLAYER_OFFLOADED = 2;
+ private static final int PLAYER_TYPE_AUDIO_TRACK_NON_OFFLOADED = 3;
private Player createPlayer(int type) {
switch (type) {
case PLAYER_TYPE_AUDIO_TRACK:
- return new AudioTrackPlayer();
+ return new AudioTrackPlayer(true /* allowOffload */);
+ case PLAYER_TYPE_AUDIO_TRACK_NON_OFFLOADED:
+ return new AudioTrackPlayer(false /* allowOffload */);
case PLAYER_TYPE_MEDIA_PLAYER_NON_OFFLOADED:
return new MediaPlayerPlayer(false /* offloaded */);
case PLAYER_TYPE_MEDIA_PLAYER_OFFLOADED:
@@ -1277,6 +1286,12 @@ public class VolumeShaperTest {
if (useMediaTime && p == PLAYER_TYPE_MEDIA_PLAYER_OFFLOADED) {
continue; // Offloaded media time not supported.
}
+ // For this test, force non offload track for media time,
+ // as media time based offload/direct volumeshaper is not supported yet.
+ // TODO(b/236187574) - remove this requirement.
+ if (useMediaTime && p == PLAYER_TYPE_AUDIO_TRACK) {
+ p = PLAYER_TYPE_AUDIO_TRACK_NON_OFFLOADED;
+ }
try ( Player player = createPlayer(p);
VolumeShaper volumeShaper = player.createVolumeShaper(config);