Merge "audio policy: fix regression in incall notification management" into mnc-dev
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index c8f9be0..d3ea9d8 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -375,6 +375,7 @@
AUDIO_DEVICE_OUT_FM, "FM",
AUDIO_DEVICE_OUT_AUX_LINE, "AUX_LINE",
AUDIO_DEVICE_OUT_SPEAKER_SAFE, "SPEAKER_SAFE",
+ AUDIO_DEVICE_OUT_IP, "IP",
AUDIO_DEVICE_NONE, "NONE", // must be last
}, mappingsIn[] = {
AUDIO_DEVICE_IN_COMMUNICATION, "COMMUNICATION",
@@ -397,6 +398,7 @@
AUDIO_DEVICE_IN_SPDIF, "SPDIF",
AUDIO_DEVICE_IN_BLUETOOTH_A2DP, "BLUETOOTH_A2DP",
AUDIO_DEVICE_IN_LOOPBACK, "LOOPBACK",
+ AUDIO_DEVICE_IN_IP, "IP",
AUDIO_DEVICE_NONE, "NONE", // must be last
};
String8 result;
diff --git a/services/audiopolicy/common/managerdefinitions/include/ConfigParsingUtils.h b/services/audiopolicy/common/managerdefinitions/include/ConfigParsingUtils.h
index a39006e..78d2cdf 100644
--- a/services/audiopolicy/common/managerdefinitions/include/ConfigParsingUtils.h
+++ b/services/audiopolicy/common/managerdefinitions/include/ConfigParsingUtils.h
@@ -73,6 +73,7 @@
STRING_TO_ENUM(AUDIO_DEVICE_OUT_SPDIF),
STRING_TO_ENUM(AUDIO_DEVICE_OUT_FM),
STRING_TO_ENUM(AUDIO_DEVICE_OUT_AUX_LINE),
+ STRING_TO_ENUM(AUDIO_DEVICE_OUT_IP),
STRING_TO_ENUM(AUDIO_DEVICE_IN_AMBIENT),
STRING_TO_ENUM(AUDIO_DEVICE_IN_BUILTIN_MIC),
STRING_TO_ENUM(AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET),
@@ -94,6 +95,7 @@
STRING_TO_ENUM(AUDIO_DEVICE_IN_SPDIF),
STRING_TO_ENUM(AUDIO_DEVICE_IN_BLUETOOTH_A2DP),
STRING_TO_ENUM(AUDIO_DEVICE_IN_LOOPBACK),
+ STRING_TO_ENUM(AUDIO_DEVICE_IN_IP),
};
const StringToEnum sDeviceNameToEnumTable[] = {
@@ -124,6 +126,7 @@
NAME_TO_ENUM("S/PDIF Out", AUDIO_DEVICE_OUT_SPDIF),
NAME_TO_ENUM("FM transceiver Out", AUDIO_DEVICE_OUT_FM),
NAME_TO_ENUM("Aux Line Out", AUDIO_DEVICE_OUT_AUX_LINE),
+ NAME_TO_ENUM("IP Out", AUDIO_DEVICE_OUT_IP),
NAME_TO_ENUM("Ambient Mic", AUDIO_DEVICE_IN_AMBIENT),
NAME_TO_ENUM("Built-In Mic", AUDIO_DEVICE_IN_BUILTIN_MIC),
NAME_TO_ENUM("BT SCO Headset Mic", AUDIO_DEVICE_IN_BLUETOOTH_SCO_HEADSET),
@@ -145,6 +148,7 @@
NAME_TO_ENUM("S/PDIF In", AUDIO_DEVICE_IN_SPDIF),
NAME_TO_ENUM("BT A2DP In", AUDIO_DEVICE_IN_BLUETOOTH_A2DP),
NAME_TO_ENUM("Loopback In", AUDIO_DEVICE_IN_LOOPBACK),
+ NAME_TO_ENUM("IP In", AUDIO_DEVICE_IN_IP),
};
const StringToEnum sOutputFlagNameToEnumTable[] = {
@@ -156,11 +160,15 @@
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_NON_BLOCKING),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_HW_AV_SYNC),
STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_TTS),
+ STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_RAW),
+ STRING_TO_ENUM(AUDIO_OUTPUT_FLAG_SYNC),
};
const StringToEnum sInputFlagNameToEnumTable[] = {
STRING_TO_ENUM(AUDIO_INPUT_FLAG_FAST),
STRING_TO_ENUM(AUDIO_INPUT_FLAG_HW_HOTWORD),
+ STRING_TO_ENUM(AUDIO_INPUT_FLAG_RAW),
+ STRING_TO_ENUM(AUDIO_INPUT_FLAG_SYNC),
};
const StringToEnum sFormatNameToEnumTable[] = {
diff --git a/services/audiopolicy/service/AudioPolicyService.cpp b/services/audiopolicy/service/AudioPolicyService.cpp
index fbe4f18..eefff3d 100644
--- a/services/audiopolicy/service/AudioPolicyService.cpp
+++ b/services/audiopolicy/service/AudioPolicyService.cpp
@@ -930,6 +930,7 @@
patch2 = ((CreateAudioPatchData *)command2->mParam.get())->mPatch;
} else {
handle2 = ((ReleaseAudioPatchData *)command2->mParam.get())->mHandle;
+ memset(&patch2, 0, sizeof(patch2));
}
if (handle != handle2) break;
/* Filter CREATE_AUDIO_PATCH commands only when they are issued for