Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 329027f5 authored by Glenn Kasten's avatar Glenn Kasten Committed by Android Git Automerger
Browse files

am 170e0c4b: Merge "Use memcpy_to_i16_from_u8 from audioutils instead of C loop"

* commit '170e0c4b':
  Use memcpy_to_i16_from_u8 from audioutils instead of C loop
parents d2cf7569 170e0c4b
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -177,7 +177,8 @@ LOCAL_C_INCLUDES += \
	external/harfbuzz_ng/src \
	external/zlib \
	frameworks/opt/emoji \
	libcore/include
	libcore/include \
	$(call include-path-for, audio-utils) \

LOCAL_SHARED_LIBRARIES := \
	libmemtrack \
@@ -213,7 +214,8 @@ LOCAL_SHARED_LIBRARIES := \
	libjpeg \
	libusbhost \
	libharfbuzz_ng \
	libz
	libz \
	libaudioutils \

ifeq ($(USE_OPENGL_RENDERER),true)
	LOCAL_SHARED_LIBRARIES += libhwui
+3 −4
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
#include <utils/Log.h>
#include <media/AudioSystem.h>
#include <media/AudioTrack.h>
#include <audio_utils/primitives.h>

#include <binder/MemoryHeapBase.h>
#include <binder/MemoryBase.h>
@@ -550,10 +551,8 @@ jint writeToTrack(const sp<AudioTrack>& track, jint audioFormat, const jbyte* da
            }
            int count = sizeInBytes;
            int16_t *dst = (int16_t *)track->sharedBuffer()->pointer();
            const int8_t *src = (const int8_t *)(data + offsetInBytes);
            while (count--) {
                *dst++ = (int16_t)(*src++^0x80) << 8;
            }
            const uint8_t *src = (const uint8_t *)(data + offsetInBytes);
            memcpy_to_i16_from_u8(dst, src, count);
            // even though we wrote 2*sizeInBytes, we only report sizeInBytes as written to hide
            // the 8bit mixer restriction from the user of this function
            written = sizeInBytes;