From 3f2e330990c3ec2e96da48c272564baa904ecfdd Mon Sep 17 00:00:00 2001 From: Mikhail Naganov Date: Fri, 8 Jul 2022 19:54:51 +0000 Subject: [PATCH] audio VTS: CompressedOffloadOutputStream to check the vendor API level Update CompressedOffloadOutputStream to fail the test if compressed offload mix port does not support gapless offload for a new device launching on T+. Bug: 219767875 Test: atest VtsHalAudioV7_0TargetTest Test: atest VtsHalAudioV7_1TargetTest Change-Id: Iaadf6e9b9bb7340ccaf5bc26c45fda9654190510 Merged-In: Iaadf6e9b9bb7340ccaf5bc26c45fda9654190510 (cherry picked from commit 1bc0dc4cebf3a968934d0239a1b17e6cc8c9a7e8) --- .../vts/functional/7.0/AudioPrimaryHidlHalTest.cpp | 9 ++++++++- audio/core/all-versions/vts/functional/Android.bp | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/audio/core/all-versions/vts/functional/7.0/AudioPrimaryHidlHalTest.cpp b/audio/core/all-versions/vts/functional/7.0/AudioPrimaryHidlHalTest.cpp index 37992ae720..13068dce94 100644 --- a/audio/core/all-versions/vts/functional/7.0/AudioPrimaryHidlHalTest.cpp +++ b/audio/core/all-versions/vts/functional/7.0/AudioPrimaryHidlHalTest.cpp @@ -18,6 +18,7 @@ #include #include +#include #include "Generators.h" @@ -900,10 +901,16 @@ class CompressedOffloadOutputStreamTest : public PcmOnlyConfigOutputStreamTest { TEST_P(CompressedOffloadOutputStreamTest, Mp3FormatGaplessOffload) { doc::test("Check that compressed offload mix ports for MP3 implement gapless offload"); const auto& flags = getOutputFlags(); + const bool isNewDeviceLaunchingOnTPlus = property_get_int32("ro.vendor.api_level", 0) >= 33; if (std::find_if(flags.begin(), flags.end(), [](const auto& flag) { return flag == toString(xsd::AudioInOutFlag::AUDIO_OUTPUT_FLAG_GAPLESS_OFFLOAD); }) == flags.end()) { - GTEST_SKIP() << "Compressed offload mix port does not support gapless offload"; + if (isNewDeviceLaunchingOnTPlus) { + FAIL() << "New devices launching on Android T+ must support gapless offload, " + << "see VSR-4.3-001"; + } else { + GTEST_SKIP() << "Compressed offload mix port does not support gapless offload"; + } } // FIXME: The presentation position is not updated if there is no zero padding in data. std::vector offloadData(stream->getBufferSize()); diff --git a/audio/core/all-versions/vts/functional/Android.bp b/audio/core/all-versions/vts/functional/Android.bp index 5b0a7f28f9..daed7a8afd 100644 --- a/audio/core/all-versions/vts/functional/Android.bp +++ b/audio/core/all-versions/vts/functional/Android.bp @@ -34,6 +34,7 @@ cc_defaults { ], shared_libs: [ "libbinder", + "libcutils", "libfmq", "libxml2", ],