Merge "policy_hal: Null check for output profile types"
diff --git a/policy_hal/AudioPolicyManager.cpp b/policy_hal/AudioPolicyManager.cpp
index 58f08c4..8bb002f 100644
--- a/policy_hal/AudioPolicyManager.cpp
+++ b/policy_hal/AudioPolicyManager.cpp
@@ -1503,6 +1503,10 @@
//suspend PCM (deep-buffer) output & close compress & direct tracks
for (size_t i = 0; i < mOutputs.size(); i++) {
AudioOutputDescriptor *outputDesc = mOutputs.valueAt(i);
+ if (!outputDesc || !outputDesc->mProfile) {
+ ALOGD("ouput desc / profile is NULL");
+ continue;
+ }
if (((!outputDesc->isDuplicated() &&outputDesc->mProfile->mFlags & AUDIO_OUTPUT_FLAG_PRIMARY))
&& prop_playback_enabled) {
ALOGD(" calling suspendOutput on call mdoe for primary output");
@@ -1527,6 +1531,10 @@
//restore PCM (deep-buffer) output after call termination
for (size_t i = 0; i < mOutputs.size(); i++) {
AudioOutputDescriptor *outputDesc = mOutputs.valueAt(i);
+ if (!outputDesc || !outputDesc->mProfile) {
+ ALOGD("ouput desc / profile is NULL");
+ continue;
+ }
if (!outputDesc->isDuplicated() &&outputDesc->mProfile->mFlags & AUDIO_OUTPUT_FLAG_PRIMARY) {
ALOGD("calling restoreOutput after call mode for primary output");
mpClientInterface->restoreOutput(mOutputs.keyAt(i));