Automated import from //branches/master/...@141712,141712

This commit is contained in:
Andreas Huber
2009-03-24 20:48:51 -07:00
committed by The Android Open Source Project
parent 37b5a1065f
commit effd8d55b2
2 changed files with 11 additions and 3 deletions

View File

@@ -492,6 +492,7 @@ status_t CameraService::Client::startPreview()
status_t CameraService::Client::startRecording()
{
if (mMediaPlayerBeep.get() != NULL) {
mMediaPlayerBeep->seekTo(0);
mMediaPlayerBeep->start();
}
return startCameraMode(CAMERA_RECORDING_MODE);
@@ -533,6 +534,7 @@ void CameraService::Client::stopRecording()
}
if (mMediaPlayerBeep.get() != NULL) {
mMediaPlayerBeep->seekTo(0);
mMediaPlayerBeep->start();
}
mHardware->stopRecording();
@@ -733,6 +735,7 @@ void CameraService::Client::shutterCallback(void *user)
// Play shutter sound.
if (client->mMediaPlayerClick.get() != NULL) {
client->mMediaPlayerClick->seekTo(0);
client->mMediaPlayerClick->start();
}

View File

@@ -416,8 +416,12 @@ status_t MediaPlayer::seekTo_l(int msec)
status_t MediaPlayer::seekTo(int msec)
{
mLockThreadId = getThreadId();
Mutex::Autolock _l(mLock);
return seekTo_l(msec);
status_t result = seekTo_l(msec);
mLockThreadId = 0;
return result;
}
status_t MediaPlayer::reset()
@@ -501,8 +505,9 @@ void MediaPlayer::notify(int msg, int ext1, int ext2)
// this will deadlock.
//
// The threadId hack below works around this for the care of prepare
// within the same process.
// and seekTo within the same process.
// FIXME: Remember, this is a hack, it's not even a hack that is applied
// consistently for all use-cases, this needs to be revisited.
if (mLockThreadId != getThreadId()) {
mLock.lock();
locked = true;