variablespeed: Fix aliasing violation

Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
Change-Id: Ic62c65b41e83f556ce228c3f724433ebace58168
diff --git a/variablespeed/jni/variablespeed.cc b/variablespeed/jni/variablespeed.cc
index 73ac609..9a15bcf 100644
--- a/variablespeed/jni/variablespeed.cc
+++ b/variablespeed/jni/variablespeed.cc
@@ -242,11 +242,13 @@
         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;
           }