OSDN Git Service

Do not change the number of bytes while converting 8-bit samples to 16-bit,
authorGloria Wang <gwang@google.com>
Fri, 22 Jul 2011 21:42:28 +0000 (14:42 -0700)
committerGloria Wang <gwang@google.com>
Fri, 22 Jul 2011 21:42:28 +0000 (14:42 -0700)
because this number will be used later to calculate mCurrentPos.
Fix for bug 5063703.

Change-Id: I75a78ef694482aa426d82a6c5f3d2ce570a9c19e

media/libstagefright/WAVExtractor.cpp

index bf978d7..c406964 100644 (file)
@@ -370,7 +370,9 @@ status_t WAVSource::read(
 
             int16_t *dst = (int16_t *)tmp->data();
             const uint8_t *src = (const uint8_t *)buffer->data();
-            while (n-- > 0) {
+            ssize_t numBytes = n;
+
+            while (numBytes-- > 0) {
                 *dst++ = ((int16_t)(*src) - 128) * 256;
                 ++src;
             }