diff options
author | Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org> | 2011-12-12 13:25:14 +0059 |
---|---|---|
committer | Evan McClain <aeroevan@gmail.com> | 2012-06-07 23:41:53 -0400 |
commit | 5380bcc403a255c60341ccedc562d7afec482385 (patch) | |
tree | 7652475d641e7e10c0c1334b6fb18b4ce9ed1485 | |
parent | 8f8f0949d93424f2b769dce5773770198fcb8dcd (diff) | |
download | android_frameworks_ex-ics-release.tar.gz android_frameworks_ex-ics-release.tar.bz2 android_frameworks_ex-ics-release.zip |
variablespeed: Fix aliasing violationics-releaseicscm-9.1.0
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Change-Id: Ic62c65b41e83f556ce228c3f724433ebace58168
-rw-r--r-- | variablespeed/jni/variablespeed.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/variablespeed/jni/variablespeed.cc b/variablespeed/jni/variablespeed.cc index ea134ec..bf132c6 100644 --- a/variablespeed/jni/variablespeed.cc +++ b/variablespeed/jni/variablespeed.cc @@ -242,11 +242,13 @@ static void ReadSampleRateAndChannelCount(CallbackContext *pContext, if (value) { OpenSL(decoderMetadata, GetValue, i, valueSize, value); if (strcmp((char*) keyInfo->data, ANDROID_KEY_PCMFORMAT_SAMPLERATE) == 0) { - SLuint32 sampleRate = *(reinterpret_cast<SLuint32*>(value->data)); + SLuint32 sampleRate; + memcpy(&sampleRate, value->data, sizeof(SLuint32)); LOGD("sample Rate: %d", sampleRate); *sampleRateOut = sampleRate; } else if (strcmp((char*) keyInfo->data, ANDROID_KEY_PCMFORMAT_NUMCHANNELS) == 0) { - SLuint32 channels = *(reinterpret_cast<SLuint32*>(value->data)); + SLuint32 channels; + memcpy(&channels, value->data, sizeof(SLuint32)); LOGD("channels: %d", channels); *channelsOut = channels; } |