From bca742946f0c20e4227b23f2b52c43350e73ca5c Mon Sep 17 00:00:00 2001 From: Chih-Hung Hsieh Date: Fri, 10 Aug 2018 16:06:07 -0700 Subject: [PATCH] Fix or suppress some google-runtime-int warnings. * Use time_t for tv_sec type. * Use 'auto' to avoid explicitly use of 'long'. * Use (u)int16_t instead of (unsigned) short. Bug: 112478838 Test: build with WITH_TIDY=1 Change-Id: I023e579b071688731064e51dc94f404274cd59e2 --- media/libaudioclient/AudioRecord.cpp | 4 +-- media/libaudioclient/AudioTrack.cpp | 4 +-- media/libaudioclient/AudioTrackShared.cpp | 3 +- media/libaudioclient/ToneGenerator.cpp | 26 +++++++------- .../include/media/AudioRecord.h | 2 +- .../libaudioclient/include/media/AudioTrack.h | 2 +- .../include/media/ToneGenerator.h | 34 +++++++++---------- 7 files changed, 38 insertions(+), 37 deletions(-) diff --git a/media/libaudioclient/AudioRecord.cpp b/media/libaudioclient/AudioRecord.cpp index f9df5b10b6..e2de8e731f 100644 --- a/media/libaudioclient/AudioRecord.cpp +++ b/media/libaudioclient/AudioRecord.cpp @@ -865,9 +865,9 @@ status_t AudioRecord::obtainBuffer(Buffer* audioBuffer, int32_t waitCount, size_ } else if (waitCount == 0) { requested = &ClientProxy::kNonBlocking; } else if (waitCount > 0) { - long long ms = WAIT_PERIOD_MS * (long long) waitCount; + time_t ms = WAIT_PERIOD_MS * (time_t) waitCount; timeout.tv_sec = ms / 1000; - timeout.tv_nsec = (int) (ms % 1000) * 1000000; + timeout.tv_nsec = (long) (ms % 1000) * 1000000; requested = &timeout; } else { ALOGE("%s invalid waitCount %d", __func__, waitCount); diff --git a/media/libaudioclient/AudioTrack.cpp b/media/libaudioclient/AudioTrack.cpp index ab9efe8893..b289bd7e8c 100644 --- a/media/libaudioclient/AudioTrack.cpp +++ b/media/libaudioclient/AudioTrack.cpp @@ -1634,9 +1634,9 @@ status_t AudioTrack::obtainBuffer(Buffer* audioBuffer, int32_t waitCount, size_t } else if (waitCount == 0) { requested = &ClientProxy::kNonBlocking; } else if (waitCount > 0) { - long long ms = WAIT_PERIOD_MS * (long long) waitCount; + time_t ms = WAIT_PERIOD_MS * (time_t) waitCount; timeout.tv_sec = ms / 1000; - timeout.tv_nsec = (int) (ms % 1000) * 1000000; + timeout.tv_nsec = (long) (ms % 1000) * 1000000; requested = &timeout; } else { ALOGE("%s invalid waitCount %d", __func__, waitCount); diff --git a/media/libaudioclient/AudioTrackShared.cpp b/media/libaudioclient/AudioTrackShared.cpp index dced3c4389..d40f193ccf 100644 --- a/media/libaudioclient/AudioTrackShared.cpp +++ b/media/libaudioclient/AudioTrackShared.cpp @@ -286,7 +286,8 @@ status_t ClientProxy::obtainBuffer(Buffer* buffer, const struct timespec *reques struct timespec after; clock_gettime(CLOCK_MONOTONIC, &after); total.tv_sec += after.tv_sec - before.tv_sec; - long deltaNs = after.tv_nsec - before.tv_nsec; + // Use auto instead of long to avoid the google-runtime-int warning. + auto deltaNs = after.tv_nsec - before.tv_nsec; if (deltaNs < 0) { deltaNs += 1000000000; total.tv_sec--; diff --git a/media/libaudioclient/ToneGenerator.cpp b/media/libaudioclient/ToneGenerator.cpp index 57167275a6..5e979e0fbb 100644 --- a/media/libaudioclient/ToneGenerator.cpp +++ b/media/libaudioclient/ToneGenerator.cpp @@ -1136,13 +1136,13 @@ void ToneGenerator::stopTone() { // This is needed in case of cold start of the output stream. if ((mStartTime.tv_sec != 0) && (clock_gettime(CLOCK_MONOTONIC, &stopTime) == 0)) { time_t sec = stopTime.tv_sec - mStartTime.tv_sec; - long nsec = stopTime.tv_nsec - mStartTime.tv_nsec; + auto nsec = stopTime.tv_nsec - mStartTime.tv_nsec; if (nsec < 0) { --sec; nsec += 1000000000; } - if ((sec + 1) > ((long)(INT_MAX / mSamplingRate))) { + if ((sec + 1) > ((time_t)(INT_MAX / mSamplingRate))) { mMaxSmp = sec * mSamplingRate; } else { // mSamplingRate is always > 1000 @@ -1257,8 +1257,8 @@ void ToneGenerator::audioCallback(int event, void* user, void *info) { AudioTrack::Buffer *buffer = static_cast(info); ToneGenerator *lpToneGen = static_cast(user); - short *lpOut = buffer->i16; - unsigned int lNumSmp = buffer->size/sizeof(short); + int16_t *lpOut = buffer->i16; + unsigned int lNumSmp = buffer->size/sizeof(int16_t); const ToneDescriptor *lpToneDesc = lpToneGen->mpToneDesc; if (buffer->size == 0) return; @@ -1329,7 +1329,7 @@ void ToneGenerator::audioCallback(int event, void* user, void *info) { if (lpToneDesc->segments[lpToneGen->mCurSegment].waveFreq[0] != 0) { lWaveCmd = WaveGenerator::WAVEGEN_STOP; unsigned int lFreqIdx = 0; - unsigned short lFrequency = lpToneDesc->segments[lpToneGen->mCurSegment].waveFreq[lFreqIdx]; + uint16_t lFrequency = lpToneDesc->segments[lpToneGen->mCurSegment].waveFreq[lFreqIdx]; while (lFrequency != 0) { WaveGenerator *lpWaveGen = lpToneGen->mWaveGens.valueFor(lFrequency); @@ -1415,7 +1415,7 @@ void ToneGenerator::audioCallback(int event, void* user, void *info) { if (lGenSmp) { // If samples must be generated, call all active wave generators and acumulate waves in lpOut unsigned int lFreqIdx = 0; - unsigned short lFrequency = lpToneDesc->segments[lpToneGen->mCurSegment].waveFreq[lFreqIdx]; + uint16_t lFrequency = lpToneDesc->segments[lpToneGen->mCurSegment].waveFreq[lFreqIdx]; while (lFrequency != 0) { WaveGenerator *lpWaveGen = lpToneGen->mWaveGens.valueFor(lFrequency); @@ -1654,17 +1654,17 @@ ToneGenerator::tone_type ToneGenerator::getToneForRegion(tone_type toneType) { // //////////////////////////////////////////////////////////////////////////////// ToneGenerator::WaveGenerator::WaveGenerator(uint32_t samplingRate, - unsigned short frequency, float volume) { + uint16_t frequency, float volume) { double d0; double F_div_Fs; // frequency / samplingRate F_div_Fs = frequency / (double)samplingRate; d0 = - (float)GEN_AMP * sin(2 * M_PI * F_div_Fs); - mS2_0 = (short)d0; + mS2_0 = (int16_t)d0; mS1 = 0; mS2 = mS2_0; - mAmplitude_Q15 = (short)(32767. * 32767. * volume / GEN_AMP); + mAmplitude_Q15 = (int16_t)(32767. * 32767. * volume / GEN_AMP); // take some margin for amplitude fluctuation if (mAmplitude_Q15 > 32500) mAmplitude_Q15 = 32500; @@ -1672,7 +1672,7 @@ ToneGenerator::WaveGenerator::WaveGenerator(uint32_t samplingRate, d0 = 32768.0 * cos(2 * M_PI * F_div_Fs); // Q14*2*cos() if (d0 > 32767) d0 = 32767; - mA1_Q14 = (short) d0; + mA1_Q14 = (int16_t) d0; ALOGV("WaveGenerator init, mA1_Q14: %d, mS2_0: %d, mAmplitude_Q15: %d", mA1_Q14, mS2_0, mAmplitude_Q15); @@ -1710,7 +1710,7 @@ ToneGenerator::WaveGenerator::~WaveGenerator() { // none // //////////////////////////////////////////////////////////////////////////////// -void ToneGenerator::WaveGenerator::getSamples(short *outBuffer, +void ToneGenerator::WaveGenerator::getSamples(int16_t *outBuffer, unsigned int count, unsigned int command) { long lS1, lS2; long lA1, lAmplitude; @@ -1741,7 +1741,7 @@ void ToneGenerator::WaveGenerator::getSamples(short *outBuffer, lS2 = lS1; lS1 = Sample; Sample = ((lAmplitude>>16) * Sample) >> S_Q15; - *(outBuffer++) += (short)Sample; // put result in buffer + *(outBuffer++) += (int16_t)Sample; // put result in buffer lAmplitude -= dec; } } else { @@ -1753,7 +1753,7 @@ void ToneGenerator::WaveGenerator::getSamples(short *outBuffer, lS2 = lS1; lS1 = Sample; Sample = (lAmplitude * Sample) >> S_Q15; - *(outBuffer++) += (short)Sample; // put result in buffer + *(outBuffer++) += (int16_t)Sample; // put result in buffer } } diff --git a/media/libaudioclient/include/media/AudioRecord.h b/media/libaudioclient/include/media/AudioRecord.h index cf446a537b..806280a40d 100644 --- a/media/libaudioclient/include/media/AudioRecord.h +++ b/media/libaudioclient/include/media/AudioRecord.h @@ -85,7 +85,7 @@ public: union { void* raw; - short* i16; // signed 16-bit + int16_t* i16; // signed 16-bit int8_t* i8; // unsigned 8-bit, offset by 0x80 // input to obtainBuffer(): unused, output: pointer to buffer }; diff --git a/media/libaudioclient/include/media/AudioTrack.h b/media/libaudioclient/include/media/AudioTrack.h index 3eb627d36a..59c6f4ceb6 100644 --- a/media/libaudioclient/include/media/AudioTrack.h +++ b/media/libaudioclient/include/media/AudioTrack.h @@ -102,7 +102,7 @@ public: union { void* raw; - short* i16; // signed 16-bit + int16_t* i16; // signed 16-bit int8_t* i8; // unsigned 8-bit, offset by 0x80 }; // input to obtainBuffer(): unused, output: pointer to buffer }; diff --git a/media/libaudioclient/include/media/ToneGenerator.h b/media/libaudioclient/include/media/ToneGenerator.h index 247703fe95..e0e3bb10bb 100644 --- a/media/libaudioclient/include/media/ToneGenerator.h +++ b/media/libaudioclient/include/media/ToneGenerator.h @@ -256,9 +256,9 @@ private: class ToneSegment { public: unsigned int duration; - unsigned short waveFreq[TONEGEN_MAX_WAVES+1]; - unsigned short loopCnt; - unsigned short loopIndx; + uint16_t waveFreq[TONEGEN_MAX_WAVES+1]; + uint16_t loopCnt; + uint16_t loopIndx; }; class ToneDescriptor { @@ -279,14 +279,14 @@ private: unsigned int mMaxSmp; // Maximum number of audio samples played (maximun tone duration) int mDurationMs; // Maximum tone duration in ms - unsigned short mCurSegment; // Current segment index in ToneDescriptor segments[] - unsigned short mCurCount; // Current sequence repeat count - volatile unsigned short mState; // ToneGenerator state (tone_state) - unsigned short mRegion; + uint16_t mCurSegment; // Current segment index in ToneDescriptor segments[] + uint16_t mCurCount; // Current sequence repeat count + volatile uint16_t mState; // ToneGenerator state (tone_state) + uint16_t mRegion; const ToneDescriptor *mpToneDesc; // pointer to active tone descriptor const ToneDescriptor *mpNewToneDesc; // pointer to next active tone descriptor - unsigned short mLoopCounter; // Current tone loopback count + uint16_t mLoopCounter; // Current tone loopback count uint32_t mSamplingRate; // AudioFlinger Sampling rate sp mpAudioTrack; // Pointer to audio track used for playback @@ -314,26 +314,26 @@ private: WAVEGEN_STOP // Stop wave on zero crossing }; - WaveGenerator(uint32_t samplingRate, unsigned short frequency, + WaveGenerator(uint32_t samplingRate, uint16_t frequency, float volume); ~WaveGenerator(); - void getSamples(short *outBuffer, unsigned int count, + void getSamples(int16_t *outBuffer, unsigned int count, unsigned int command); private: - static const short GEN_AMP = 32000; // amplitude of generator - static const short S_Q14 = 14; // shift for Q14 - static const short S_Q15 = 15; // shift for Q15 + static const int16_t GEN_AMP = 32000; // amplitude of generator + static const int16_t S_Q14 = 14; // shift for Q14 + static const int16_t S_Q15 = 15; // shift for Q15 - short mA1_Q14; // Q14 coefficient + int16_t mA1_Q14; // Q14 coefficient // delay line of full amplitude generator long mS1, mS2; // delay line S2 oldest - short mS2_0; // saved value for reinitialisation - short mAmplitude_Q15; // Q15 amplitude + int16_t mS2_0; // saved value for reinitialisation + int16_t mAmplitude_Q15; // Q15 amplitude }; - KeyedVector mWaveGens; // list of active wave generators. + KeyedVector mWaveGens; // list of active wave generators. }; }