Merge "audio policy service: fix audioserver port cb upon APS crash" into pi-dev

gugelfrei
Eric Laurent 6 years ago committed by Android (Google) Code Review
commit 2db457b39e

@ -20,6 +20,7 @@
#include <utils/Log.h>
#include <binder/IServiceManager.h>
#include <binder/ProcessState.h>
#include <binder/IPCThreadState.h>
#include <media/AudioResamplerPublic.h>
#include <media/AudioSystem.h>
#include <media/IAudioFlinger.h>
@ -75,7 +76,9 @@ const sp<IAudioFlinger> AudioSystem::get_audio_flinger()
af = gAudioFlinger;
}
if (afc != 0) {
int64_t token = IPCThreadState::self()->clearCallingIdentity();
af->registerClient(afc);
IPCThreadState::self()->restoreCallingIdentity(token);
}
return af;
}
@ -767,7 +770,10 @@ const sp<IAudioPolicyService> AudioSystem::get_audio_policy_service()
ap = gAudioPolicyService;
}
if (apc != 0) {
int64_t token = IPCThreadState::self()->clearCallingIdentity();
ap->registerClient(apc);
ap->setAudioPortCallbacksEnabled(apc->isAudioPortCbEnabled());
IPCThreadState::self()->restoreCallingIdentity(token);
}
return ap;

@ -431,6 +431,7 @@ private:
int addAudioPortCallback(const sp<AudioPortCallback>& callback);
int removeAudioPortCallback(const sp<AudioPortCallback>& callback);
bool isAudioPortCbEnabled() const { return (mAudioPortCallbacks.size() != 0); }
// DeathRecipient
virtual void binderDied(const wp<IBinder>& who);

Loading…
Cancel
Save