From bbf7f6803ec790b81c580b0b91f7c51d0b9aff97 Mon Sep 17 00:00:00 2001 From: Phil Burk Date: Wed, 6 Apr 2016 14:54:46 -0700 Subject: [PATCH] SPDIF: Fix warnings from static analyser Bug: 27230467 Change-Id: I89013d8b6696c6491db655ff2e1a3ceee9ffa3c8 Signed-off-by: Phil Burk --- audio_utils/spdif/SPDIFEncoder.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/audio_utils/spdif/SPDIFEncoder.cpp b/audio_utils/spdif/SPDIFEncoder.cpp index 6f4e9337..5a70b2c8 100644 --- a/audio_utils/spdif/SPDIFEncoder.cpp +++ b/audio_utils/spdif/SPDIFEncoder.cpp @@ -34,7 +34,8 @@ static int32_t sEndianDetector = 1; #define isLittleEndian() (*((uint8_t *)&sEndianDetector)) SPDIFEncoder::SPDIFEncoder(audio_format_t format) - : mSampleRate(48000) + : mFramer(NULL) + , mSampleRate(48000) , mBurstBuffer(NULL) , mBurstBufferSizeBytes(0) , mRateMultiplier(1) @@ -54,11 +55,13 @@ SPDIFEncoder::SPDIFEncoder(audio_format_t format) mFramer = new DTSFrameScanner(); break; default: - ALOGE("SPDIFEncoder: ERROR invalid audio format = 0x%08X", format); - mFramer = NULL; break; } + // This a programmer error. Call isFormatSupported() first. + LOG_ALWAYS_FATAL_IF((mFramer == NULL), + "SPDIFEncoder: invalid audio format = 0x%08X", format); + mBurstBufferSizeBytes = sizeof(uint16_t) * SPDIF_ENCODED_CHANNEL_COUNT * mFramer->getMaxSampleFramesPerSyncFrame(); @@ -100,6 +103,8 @@ int SPDIFEncoder::getBytesPerOutputFrame() void SPDIFEncoder::writeBurstBufferShorts(const uint16_t *buffer, size_t numShorts) { + // avoid static analyser warning + LOG_ALWAYS_FATAL_IF((mBurstBuffer == NULL), "mBurstBuffer never allocated"); mByteCursor = (mByteCursor + 1) & ~1; // round up to even byte size_t bytesToWrite = numShorts * sizeof(uint16_t); if ((mByteCursor + bytesToWrite) > mBurstBufferSizeBytes) { -- 2.11.0