summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>2011-12-12 13:25:14 +0059
committerEvan McClain <aeroevan@gmail.com>2012-06-07 23:41:53 -0400
commit5380bcc403a255c60341ccedc562d7afec482385 (patch)
tree7652475d641e7e10c0c1334b6fb18b4ce9ed1485
parent8f8f0949d93424f2b769dce5773770198fcb8dcd (diff)
downloadandroid_frameworks_ex-ics.tar.gz
android_frameworks_ex-ics.tar.bz2
android_frameworks_ex-ics.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.cc6
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;
}