summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/TrackBase.h
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2013-08-06 15:40:54 -0700
committerGlenn Kasten <gkasten@google.com>2013-08-12 16:35:25 -0700
commit030033342a6ea17003e6af38a56c7edc6d2ead01 (patch)
tree342168125e3c97f01af88dfe133f99c7f71d7e3d /services/audioflinger/TrackBase.h
parent9156ef3e11b68cc4b6d3cea77f1f63673855a6d1 (diff)
downloadframeworks_av-030033342a6ea17003e6af38a56c7edc6d2ead01.zip
frameworks_av-030033342a6ea17003e6af38a56c7edc6d2ead01.tar.gz
frameworks_av-030033342a6ea17003e6af38a56c7edc6d2ead01.tar.bz2
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
Diffstat (limited to 'services/audioflinger/TrackBase.h')
-rw-r--r--services/audioflinger/TrackBase.h1
1 files changed, 1 insertions, 0 deletions
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;