Fix stream type check, accept empty type

Since `AUDIO_STREAM_DEFAULT` can not be used in APM configs,
it is encoded as an empty string when passing via HIDL.
Consider this case when checking for the stream type
validity. Does not affect VTS.

Bug: 227457689
Test: run CallAudioInterceptionTest, check logcat for errors
Test: atest VtsHalAudioV7_1TargetTest
Change-Id: I5a0dad912bbb6826b5fd039b28b1c12e831d5112
diff --git a/audio/util.cpp b/audio/util.cpp
index 97d6103..65616dd 100644
--- a/audio/util.cpp
+++ b/audio/util.cpp
@@ -142,7 +142,7 @@
         if (const auto& info = cfg.offloadInfo.info();
                 xsd::isUnknownAudioFormat(info.base.format)
                 || xsd::isUnknownAudioChannelMask(info.base.channelMask)
-                || xsd::isUnknownAudioStreamType(info.streamType)
+                || (!info.streamType.empty() && xsd::isUnknownAudioStreamType(info.streamType))
                 || xsd::isUnknownAudioUsage(info.usage)) {
             return false;
         }
@@ -209,7 +209,8 @@
         case AudioPortExtendedInfo::hidl_discriminator::mix:
             switch (cfg.ext.mix().useCase.getDiscriminator()) {
                 case AudioPortExtendedInfo::AudioPortMixExt::UseCase::hidl_discriminator::stream:
-                    if (xsd::isUnknownAudioStreamType(cfg.ext.mix().useCase.stream())) {
+                    if (const auto& stream = cfg.ext.mix().useCase.stream();
+                            !stream.empty() && xsd::isUnknownAudioStreamType(stream)) {
                         return false;
                     }
                     break;