diff options
Diffstat (limited to 'services/audioflinger')
| -rw-r--r-- | services/audioflinger/PatchPanel.cpp | 15 | ||||
| -rw-r--r-- | services/audioflinger/Threads.cpp | 2 | 
2 files changed, 14 insertions, 3 deletions
diff --git a/services/audioflinger/PatchPanel.cpp b/services/audioflinger/PatchPanel.cpp index 9248bba..f6078a2 100644 --- a/services/audioflinger/PatchPanel.cpp +++ b/services/audioflinger/PatchPanel.cpp @@ -481,22 +481,31 @@ void AudioFlinger::PatchPanel::clearPatchConnections(Patch *patch)      if (patch->mRecordThread != 0) {          if (patch->mPatchRecord != 0) {              patch->mRecordThread->deletePatchRecord(patch->mPatchRecord); -            patch->mPatchRecord.clear();          }          audioflinger->closeInputInternal_l(patch->mRecordThread); -        patch->mRecordThread.clear();      }      if (patch->mPlaybackThread != 0) {          if (patch->mPatchTrack != 0) {              patch->mPlaybackThread->deletePatchTrack(patch->mPatchTrack); -            patch->mPatchTrack.clear();          }          // if num sources == 2 we are reusing an existing playback thread so we do not close it          if (patch->mAudioPatch.num_sources != 2) {              audioflinger->closeOutputInternal_l(patch->mPlaybackThread);          } +    } +    if (patch->mRecordThread != 0) { +        if (patch->mPatchRecord != 0) { +            patch->mPatchRecord.clear(); +        } +        patch->mRecordThread.clear(); +    } +    if (patch->mPlaybackThread != 0) { +        if (patch->mPatchTrack != 0) { +            patch->mPatchTrack.clear(); +        }          patch->mPlaybackThread.clear();      } +  }  /* Disconnect a patch */ 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 @@ String8 devicesToString(audio_devices_t devices)          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 @@ String8 devicesToString(audio_devices_t devices)          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;  | 
