diff options
author | Andy Hung <hunga@google.com> | 2022-06-16 16:37:45 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-06-16 16:37:45 +0000 |
commit | 30283e66855562eb91dd5eac089505b4ae182eda (patch) | |
tree | 691134177cc45617808ccef1281f830cc5b751b2 | |
parent | 5d44ea6a4d19f3cf0a159f25fa15674384926623 (diff) | |
parent | e781a1435f3a3ef9892d47bf4b75de13072d5f9a (diff) | |
download | cts-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.java | 23 |
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); |