diff options
author | Glenn Kasten <gkasten@google.com> | 2014-01-13 10:26:32 -0800 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2014-01-16 17:03:08 -0800 |
commit | dd5f4c8c4059f890e81b28b026a688febb4e1dd9 (patch) | |
tree | f109b6d755352250744e91b22ca1eb567aeacd25 /media/libmedia/AudioTrack.cpp | |
parent | 0cde076ddb283c84c3801a2df4cc3df99bd1577f (diff) | |
download | frameworks_av-dd5f4c8c4059f890e81b28b026a688febb4e1dd9.zip frameworks_av-dd5f4c8c4059f890e81b28b026a688febb4e1dd9.tar.gz frameworks_av-dd5f4c8c4059f890e81b28b026a688febb4e1dd9.tar.bz2 |
Move up initialization of mFormat, mStreamType, and mSharedBuffer earlier
This will allow removal of most of the parameter list to createTrack_l.
Also check for valid stream type at client so we can log a better error
message.
Change-Id: Ia7176896d47fbb49106119fca26d9de8e7efe859
Diffstat (limited to 'media/libmedia/AudioTrack.cpp')
-rw-r--r-- | media/libmedia/AudioTrack.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp index a113f77..eeaab44 100644 --- a/media/libmedia/AudioTrack.cpp +++ b/media/libmedia/AudioTrack.cpp @@ -216,6 +216,7 @@ status_t AudioTrack::set( ALOGE("Invalid transfer type %d", transferType); return BAD_VALUE; } + mSharedBuffer = sharedBuffer; mTransfer = transferType; // FIXME "int" here is legacy and will be replaced by size_t later @@ -244,6 +245,11 @@ status_t AudioTrack::set( if (streamType == AUDIO_STREAM_DEFAULT) { streamType = AUDIO_STREAM_MUSIC; } + if (uint32_t(streamType) >= AUDIO_STREAM_CNT) { + ALOGE("Invalid stream type %d", streamType); + return BAD_VALUE; + } + mStreamType = streamType; status_t status; if (sampleRate == 0) { @@ -266,6 +272,7 @@ status_t AudioTrack::set( ALOGE("Invalid format %d", format); return BAD_VALUE; } + mFormat = format; if (!audio_is_output_channel(channelMask)) { ALOGE("Invalid channel mask %#x", channelMask); @@ -363,9 +370,6 @@ status_t AudioTrack::set( } mStatus = NO_ERROR; - mStreamType = streamType; - mFormat = format; - mSharedBuffer = sharedBuffer; mState = STATE_STOPPED; mUserData = user; mLoopPeriod = 0; |