From c08d20b6a37122ebf116262c9372509ed060d4c1 Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Mon, 24 Feb 2014 15:21:10 -0800 Subject: Simplify error handling after track creation IAudioFlinger::createTrack and IAudioFlinger::openRecord both guarantee that (status == OK) == (sp<> != 0). Change-Id: I91cb4f7e843019efb65cace7ba146f7da7aa5b59 --- media/libmedia/AudioRecord.cpp | 4 +++- media/libmedia/AudioTrack.cpp | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'media/libmedia') diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp index 7f86032..4438dfd 100644 --- a/media/libmedia/AudioRecord.cpp +++ b/media/libmedia/AudioRecord.cpp @@ -482,10 +482,12 @@ status_t AudioRecord::openRecord_l(size_t epoch) ALOGE_IF(originalSessionId != AUDIO_SESSION_ALLOCATE && mSessionId != originalSessionId, "session ID changed from %d to %d", originalSessionId, mSessionId); - if (record == 0 || status != NO_ERROR) { + if (status != NO_ERROR) { ALOGE("AudioFlinger could not create record track, status: %d", status); goto release; } + ALOG_ASSERT(record != 0); + // AudioFlinger now owns the reference to the I/O handle, // so we are no longer responsible for releasing it. diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp index eed7a0b..adf3847 100644 --- a/media/libmedia/AudioTrack.cpp +++ b/media/libmedia/AudioTrack.cpp @@ -1016,10 +1016,12 @@ status_t AudioTrack::createTrack_l(size_t epoch) mClientUid, &status); - if (track == 0) { + if (status != NO_ERROR) { ALOGE("AudioFlinger could not create track, status: %d", status); goto release; } + ALOG_ASSERT(track != 0); + // AudioFlinger now owns the reference to the I/O handle, // so we are no longer responsible for releasing it. -- cgit v1.1