From 030033342a6ea17003e6af38a56c7edc6d2ead01 Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Tue, 6 Aug 2013 15:40:54 -0700 Subject: Clean up error handling in createTrack and openRecord Outside callers now use initCheck() to determine whether a TrackBase has been created successfully, instead of relying on internal knowledge. Previously, callers needed to know that a TrackBase was only valid if it's getCbk() != 0. For a Track (playback), they needed to know to also check the track's name (track index). Now, outsiders can just call initCheck(). Other changes: - Return a 0 reference if track creation fails - Remove a dead line of code in AudioFlinger::openRecord Change-Id: If374924a3f6fd27906f625aa83dd0a1e3f506e00 --- services/audioflinger/TrackBase.h | 1 + 1 file changed, 1 insertion(+) (limited to 'services/audioflinger/TrackBase.h') diff --git a/services/audioflinger/TrackBase.h b/services/audioflinger/TrackBase.h index 7365ea2..00a91b7 100644 --- a/services/audioflinger/TrackBase.h +++ b/services/audioflinger/TrackBase.h @@ -47,6 +47,7 @@ public: int sessionId, bool isOut); virtual ~TrackBase(); + virtual status_t initCheck() const { return getCblk() != 0 ? NO_ERROR : NO_MEMORY; } virtual status_t start(AudioSystem::sync_event_t event, int triggerSession) = 0; -- cgit v1.1