OSDN Git Service

SPDIF: Fix warnings from static analyser
authorPhil Burk <philburk@google.com>
Wed, 6 Apr 2016 23:55:33 +0000 (23:55 +0000)
committerandroid-build-merger <android-build-merger@google.com>
Wed, 6 Apr 2016 23:55:33 +0000 (23:55 +0000)
am: 69250e0

* commit '69250e041a6ba1e32555db89a05e85b4d0f45006':
  SPDIF: Fix warnings from static analyser

Change-Id: I5c6a94afc8fcc146ecb290b8626d5c20790401aa

1  2 
audio_utils/spdif/SPDIFEncoder.cpp

@@@ -34,7 -34,8 +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)
      switch(format) {
          case AUDIO_FORMAT_AC3:
          case AUDIO_FORMAT_E_AC3:
 -            mFramer = new AC3FrameScanner();
 +            mFramer = new AC3FrameScanner(format);
              break;
          case AUDIO_FORMAT_DTS:
          case AUDIO_FORMAT_DTS_HD:
              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 +103,8 @@@ int SPDIFEncoder::getBytesPerOutputFram
  
  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) {