diff options
author | Glenn Kasten <gkasten@google.com> | 2013-08-30 00:04:37 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-08-30 00:04:37 +0000 |
commit | 56b592240073b1ab116c6e23a9c4c34ef5ad80d8 (patch) | |
tree | 99d167994fa92857f39b459da1b52e0695d13a68 /media/libmedia/AudioTrack.cpp | |
parent | 865f6f248bf10189272020ebfdbf4827433caf0f (diff) | |
parent | 53cec22821072719ee02c856e9ac2dda2496c570 (diff) | |
download | frameworks_av-56b592240073b1ab116c6e23a9c4c34ef5ad80d8.zip frameworks_av-56b592240073b1ab116c6e23a9c4c34ef5ad80d8.tar.gz frameworks_av-56b592240073b1ab116c6e23a9c4c34ef5ad80d8.tar.bz2 |
Merge "Add IAudioTrack::getTimestamp()" into klp-dev
Diffstat (limited to 'media/libmedia/AudioTrack.cpp')
-rw-r--r-- | media/libmedia/AudioTrack.cpp | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp index 64e49f7..176197c 100644 --- a/media/libmedia/AudioTrack.cpp +++ b/media/libmedia/AudioTrack.cpp @@ -148,10 +148,8 @@ AudioTrack::~AudioTrack() mAudioTrackThread->requestExitAndWait(); mAudioTrackThread.clear(); } - if (mAudioTrack != 0) { - mAudioTrack->asBinder()->unlinkToDeath(mDeathNotifier, this); - mAudioTrack.clear(); - } + mAudioTrack->asBinder()->unlinkToDeath(mDeathNotifier, this); + mAudioTrack.clear(); IPCThreadState::self()->flushCommands(); AudioSystem::releaseAudioSessionId(mSessionId); } @@ -222,6 +220,7 @@ status_t AudioTrack::set( AutoMutex lock(mLock); + // invariant that mAudioTrack != 0 is true only after set() returns successfully if (mAudioTrack != 0) { ALOGE("Track already in use"); return INVALID_OPERATION; @@ -968,6 +967,7 @@ status_t AudioTrack::createTrack_l( ALOGE("Could not get control block"); return NO_INIT; } + // invariant that mAudioTrack != 0 is true only after set() returns successfully if (mAudioTrack != 0) { mAudioTrack->asBinder()->unlinkToDeath(mDeathNotifier, this); mDeathNotifier.clear(); @@ -1708,16 +1708,13 @@ status_t AudioTrack::restoreTrack_l(const char *from) status_t AudioTrack::setParameters(const String8& keyValuePairs) { AutoMutex lock(mLock); - if (mAudioTrack != 0) { - return mAudioTrack->setParameters(keyValuePairs); - } else { - return NO_INIT; - } + return mAudioTrack->setParameters(keyValuePairs); } status_t AudioTrack::getTimestamp(AudioTimestamp& timestamp) { - return INVALID_OPERATION; + AutoMutex lock(mLock); + return mAudioTrack->getTimestamp(timestamp); } String8 AudioTrack::getParameters(const String8& keys) |