Revert "Add remote submix direct paths"
This reverts commit ce9767a966c9c921e7507985d32ae60e8c6007e8.
Please see the comment on aosp/2832731. This configuration
leads to anomalous framework behavior.
Bug: 311830316
Test: atest audiorouting_tests
Change-Id: I5be3ac18819e297aa199c5a0f5d2e85758448b4b
diff --git a/audio/aidl/default/Configuration.cpp b/audio/aidl/default/Configuration.cpp
index baaa55f..2a8e58f 100644
--- a/audio/aidl/default/Configuration.cpp
+++ b/audio/aidl/default/Configuration.cpp
@@ -32,7 +32,6 @@
using aidl::android::media::audio::common::AudioFormatDescription;
using aidl::android::media::audio::common::AudioFormatType;
using aidl::android::media::audio::common::AudioGainConfig;
-using aidl::android::media::audio::common::AudioInputFlags;
using aidl::android::media::audio::common::AudioIoFlags;
using aidl::android::media::audio::common::AudioOutputFlags;
using aidl::android::media::audio::common::AudioPort;
@@ -322,25 +321,20 @@
//
// Mix ports:
// * "r_submix output", maximum 10 opened streams, maximum 10 active streams
-// - profile PCM 16-bit; STEREO; 8000, 11025, 16000, 32000, 44100, 48000, 192000
+// - profile PCM 16-bit; STEREO; 8000, 11025, 16000, 32000, 44100, 48000
// * "r_submix input", maximum 10 opened streams, maximum 10 active streams
-// - profile PCM 16-bit; STEREO; 8000, 11025, 16000, 32000, 44100, 48000, 192000
-// * "r_submix output direct", DIRECT|IEC958_NONAUDIO, 1 max open, 1 max active
-// - profile PCM 16-bit; STEREO; 8000, 11025, 16000, 32000, 44100, 48000, 192000
-// * "r_submix input direct", DIRECT, 1 max open, 1 max active
-// - profile PCM 16-bit; STEREO; 8000, 11025, 16000, 32000, 44100, 48000, 192000
-
+// - profile PCM 16-bit; STEREO; 8000, 11025, 16000, 32000, 44100, 48000
//
// Routes:
-// "r_submix output", "r_submix output direct" -> "Remote Submix Out"
-// "Remote Submix In" -> "r_submix input", "r_submix input direct"
+// "r_submix output" -> "Remote Submix Out"
+// "Remote Submix In" -> "r_submix input"
//
std::unique_ptr<Configuration> getRSubmixConfiguration() {
static const Configuration configuration = []() {
Configuration c;
const std::vector<AudioProfile> remoteSubmixPcmAudioProfiles{
createProfile(PcmType::INT_16_BIT, {AudioChannelLayout::LAYOUT_STEREO},
- {8000, 11025, 16000, 32000, 44100, 48000, 192000})};
+ {8000, 11025, 16000, 32000, 44100, 48000})};
// Device ports
@@ -365,41 +359,13 @@
rsubmixOutMix.profiles = remoteSubmixPcmAudioProfiles;
c.ports.push_back(rsubmixOutMix);
- // Adding a DIRECT flag to rsubmixInMix breaks the mixer paths, so we need separate
- // non direct and direct paths. It is added because for IEC61937 encapsulated over PCM, we
- // need the DIRECT and IEC958_NONAUDIO flags as AudioFlinger adds them.
- AudioPort rsubmixOutDirectMix =
- createPort(c.nextPortId++, "r_submix output direct",
- makeBitPositionFlagMask({
- AudioOutputFlags::DIRECT,
- AudioOutputFlags::IEC958_NONAUDIO}),
- false /* isInput */,
- createPortMixExt(1 /* maxOpenStreamCount */,
- 1 /* maxActiveStreamCount */));
- rsubmixOutDirectMix.profiles = remoteSubmixPcmAudioProfiles;
- c.ports.push_back(rsubmixOutDirectMix);
-
AudioPort rsubmixInMix =
createPort(c.nextPortId++, "r_submix input", 0, true, createPortMixExt(10, 10));
rsubmixInMix.profiles = remoteSubmixPcmAudioProfiles;
c.ports.push_back(rsubmixInMix);
- // Adding a DIRECT flag to rsubmixInMix breaks the capture paths, so we need separate
- // non direct and direct paths. It is added because for IEC61937 encapsulated over PCM, we
- // need the DIRECT flag for the capability so AudioFlinger can find a DIRECT input match.
- AudioPort rsubmixInDirectMix =
- createPort(c.nextPortId++, "r_submix input direct",
- makeBitPositionFlagMask({AudioInputFlags::DIRECT}),
- true /* isInput */,
- createPortMixExt(1 /* maxOpenStreamCount */,
- 1 /* maxActiveStreamCount */));
- rsubmixInDirectMix.profiles = remoteSubmixPcmAudioProfiles;
- c.ports.push_back(rsubmixInDirectMix);
-
- c.routes.push_back(createRoute(
- {rsubmixOutMix, rsubmixOutDirectMix}, rsubmixOutDevice));
+ c.routes.push_back(createRoute({rsubmixOutMix}, rsubmixOutDevice));
c.routes.push_back(createRoute({rsubmixInDevice}, rsubmixInMix));
- c.routes.push_back(createRoute({rsubmixInDevice}, rsubmixInDirectMix));
return c;
}();