am f0cf5f10: BufferQueue: fix a test crash

* commit 'f0cf5f103cf9c54d59de4ed6f1d8ddd2302dec1b':
  BufferQueue: fix a test crash
This commit is contained in:
Jamie Gennis 2013-10-02 11:16:59 -07:00 committed by Android Git Automerger
commit 6be1d210ee
1 changed files with 9 additions and 5 deletions

View File

@ -668,11 +668,15 @@ status_t BufferQueue::connect(const sp<IBinder>& token,
mConnectedApi = api;
output->inflate(mDefaultWidth, mDefaultHeight, mTransformHint, mQueue.size());
// set-up a death notification so that we can disconnect automatically
// when/if the remote producer dies.
// This will fail with INVALID_OPERATION if the "token" is local to our process.
if (token->linkToDeath(static_cast<IBinder::DeathRecipient*>(this)) == NO_ERROR) {
mConnectedProducerToken = token;
// set-up a death notification so that we can disconnect
// automatically when/if the remote producer dies.
if (token != NULL && token->remoteBinder() != NULL) {
status_t err = token->linkToDeath(static_cast<IBinder::DeathRecipient*>(this));
if (err == NO_ERROR) {
mConnectedProducerToken = token;
} else {
ALOGE("linkToDeath failed: %s (%d)", strerror(-err), err);
}
}
}
break;