From c5a0f5ea1cf4c29f35e76b600043bef95147186f Mon Sep 17 00:00:00 2001 From: Timo Wischer Date: Tue, 20 Nov 2018 15:53:39 +0100 Subject: oss_driver: Use float to S32 conversion if requested sample_move_d32u24_sS() converts into samples like 0x00****** but S32 format expects samples like 0x********. Therefore it will not use the full volume range when also using sample_move_d32u24_sS() for S32. Signed-off-by: Timo Wischer --- solaris/oss/JackBoomerDriver.cpp | 4 ++-- solaris/oss/JackOSSAdapter.cpp | 4 ++-- solaris/oss/JackOSSDriver.cpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/solaris/oss/JackBoomerDriver.cpp b/solaris/oss/JackBoomerDriver.cpp index 5f07bc57..f207addb 100644 --- a/solaris/oss/JackBoomerDriver.cpp +++ b/solaris/oss/JackBoomerDriver.cpp @@ -87,7 +87,7 @@ static inline void CopyAndConvertIn(jack_sample_t *dst, void *src, size_t nframe case 32: { signed int *s32src = (signed int*)src; s32src += channel; - sample_move_dS_s32u24(dst, (char*)s32src, nframes, byte_skip); + sample_move_dS_s32(dst, (char*)s32src, nframes, byte_skip); break; } } @@ -112,7 +112,7 @@ static inline void CopyAndConvertOut(void *dst, jack_sample_t *src, size_t nfram case 32: { signed int *s32dst = (signed int*)dst; s32dst += channel; - sample_move_d32u24_sS((char*)s32dst, src, nframes, byte_skip, NULL); + sample_move_d32_sS((char*)s32dst, src, nframes, byte_skip, NULL); break; } } diff --git a/solaris/oss/JackOSSAdapter.cpp b/solaris/oss/JackOSSAdapter.cpp index 8418068d..23615992 100644 --- a/solaris/oss/JackOSSAdapter.cpp +++ b/solaris/oss/JackOSSAdapter.cpp @@ -52,7 +52,7 @@ static inline void CopyAndConvertIn(jack_sample_t *dst, void *src, size_t nframe case 32: { signed int *s32src = (signed int*)src; s32src += channel; - sample_move_dS_s32u24(dst, (char*)s32src, nframes, chcount<<2); + sample_move_dS_s32(dst, (char*)s32src, nframes, chcount<<2); break; } } @@ -77,7 +77,7 @@ static inline void CopyAndConvertOut(void *dst, jack_sample_t *src, size_t nfram case 32: { signed int *s32dst = (signed int*)dst; s32dst += channel; - sample_move_d32u24_sS((char*)s32dst, src, nframes, chcount<<2, NULL); + sample_move_d32_sS((char*)s32dst, src, nframes, chcount<<2, NULL); break; } } diff --git a/solaris/oss/JackOSSDriver.cpp b/solaris/oss/JackOSSDriver.cpp index 77ca6e00..f1affaf0 100644 --- a/solaris/oss/JackOSSDriver.cpp +++ b/solaris/oss/JackOSSDriver.cpp @@ -86,7 +86,7 @@ static inline void CopyAndConvertIn(jack_sample_t *dst, void *src, size_t nframe case 32: { signed int *s32src = (signed int*)src; s32src += channel; - sample_move_dS_s32u24(dst, (char*)s32src, nframes, chcount<<2); + sample_move_dS_s32(dst, (char*)s32src, nframes, chcount<<2); break; } } @@ -111,7 +111,7 @@ static inline void CopyAndConvertOut(void *dst, jack_sample_t *src, size_t nfram case 32: { signed int *s32dst = (signed int*)dst; s32dst += channel; - sample_move_d32u24_sS((char*)s32dst, src, nframes, chcount<<2, NULL); + sample_move_d32_sS((char*)s32dst, src, nframes, chcount<<2, NULL); break; } } -- cgit v1.2.1