OSDN Git Service

ToneGenerator: fix AudioTrack pointer init
authorEric Laurent <elaurent@google.com>
Tue, 26 Mar 2013 19:25:30 +0000 (12:25 -0700)
committerEric Laurent <elaurent@google.com>
Tue, 26 Mar 2013 19:25:30 +0000 (12:25 -0700)
The pointer to AudioTrack should be initialized before
early return from ToneGenerator constructor because
it is tested by the destructor.

Bug 8140963

Change-Id: I9a7dfb60ba162b75dfaa5630ab7fc9485afd0074

media/libmedia/ToneGenerator.cpp

index 1c0268f..58d495e 100644 (file)
@@ -803,6 +803,7 @@ ToneGenerator::ToneGenerator(audio_stream_type_t streamType, float volume, bool
     ALOGV("ToneGenerator constructor: streamType=%d, volume=%f", streamType, volume);
 
     mState = TONE_IDLE;
+    mpAudioTrack = NULL;
 
     if (AudioSystem::getOutputSamplingRate(&mSamplingRate, streamType) != NO_ERROR) {
         ALOGE("Unable to marshal AudioFlinger");
@@ -811,7 +812,6 @@ ToneGenerator::ToneGenerator(audio_stream_type_t streamType, float volume, bool
     mThreadCanCallJava = threadCanCallJava;
     mStreamType = streamType;
     mVolume = volume;
-    mpAudioTrack = NULL;
     mpToneDesc = NULL;
     mpNewToneDesc = NULL;
     // Generate tone by chunks of 20 ms to keep cadencing precision