Package: libsoundtouch0 Version: 1.7.1-1 Severity: serious Tags: sid jessie patch Control: affects -1 + src:audacity
In version 1.7.1 of soundtouch
| #if (defined(__SOFTFP__))
| // For Android compilation: Force use of Integer samples in case that
| // compilation uses soft-floating point emulation - soft-fp is way
too slow
| #undef SOUNDTOUCH_FLOAT_SAMPLES
| #define SOUNDTOUCH_INTEGER_SAMPLES 1
| #endif
was added to include/STTypes.h [1]. Since __SOFTFP__ is defined on
armel, SAMPLETYPE changed from float to short and the signatures of some
functions changed.
For example, take the following simple program:
| #include <soundtouch/FIFOSampleBuffer.h>
| int main()
| {
| soundtouch::FIFOSampleBuffer f;
| soundtouch::SAMPLETYPE s = 0;
| f.putSamples(&s, 1);
| }
When compiled and linked against a version prior to 1.7.1 and then
upgrading to 1.7.1, the program fails to run:
% ./a.out
./a.out: symbol lookup error: ./a.out: undefined symbol:
_ZN10soundtouch16FIFOSampleBuffer10putSamplesEPKfj
The attached patch reverts this change and restores ABI compatibility.
Regards
--
Sebastian Ramacher
diff --git a/include/STTypes.h b/include/STTypes.h
index ed4231b..8820a53 100644
--- a/include/STTypes.h
+++ b/include/STTypes.h
@@ -78,13 +78,6 @@ namespace soundtouch
//#undef SOUNDTOUCH_INTEGER_SAMPLES
//#undef SOUNDTOUCH_FLOAT_SAMPLES
- #if (defined(__SOFTFP__))
- // For Android compilation: Force use of Integer samples in case that
- // compilation uses soft-floating point emulation - soft-fp is way too slow
- #undef SOUNDTOUCH_FLOAT_SAMPLES
- #define SOUNDTOUCH_INTEGER_SAMPLES 1
- #endif
-
#if !(SOUNDTOUCH_INTEGER_SAMPLES || SOUNDTOUCH_FLOAT_SAMPLES)
/// Choose either 32bit floating point or 16bit integer sampletype
signature.asc
Description: Digital signature

