Binary compatibility report for the libSoundTouch.so object between 1.6.0 and 1.7.0 versions on x86_64
Test Info
Module Name | libSoundTouch |
Version #1 | 1.6.0 |
Version #2 | 1.7.0 |
CPU Type | x86_64 |
GCC Version | 4.9.2 |
Test Results
Total Header Files | 5 |
Total Source Files | 10 |
Total Objects | 1 |
Total Symbols / Types | 170 / 63 |
Verdict | Incompatible (23.5%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 8 |
Removed Symbols | High | 9 |
Problems with Data Types | High | 8 |
Medium | 3 |
Low | 1 |
Problems with Symbols | High | 0 |
Medium | 0 |
Low | 0 |
Problems with Constants | Low | 0 |
Added Symbols (8)
BPMDetect.h,
libSoundTouch.so.0.0.0
namespace soundtouch
BPMDetect::removeBias ( )
[symbol: _ZN10soundtouch9BPMDetect10removeBiasEv]
FIFOSampleBuffer.h,
libSoundTouch.so.0.0.0
namespace soundtouch
FIFOSampleBuffer::adjustAmountOfSamples ( uint numSamples )
[symbol: _ZN10soundtouch16FIFOSampleBuffer21adjustAmountOfSamplesEj]
FIFOSamplePipe.h,
libSoundTouch.so.0.0.0
namespace soundtouch
FIFOProcessor::adjustAmountOfSamples ( uint numSamples )
[symbol: _ZN10soundtouch13FIFOProcessor21adjustAmountOfSamplesEj]
PeakFinder.h,
libSoundTouch.so.0.0.0
namespace soundtouch
PeakFinder::findTop ( float const* data, int peakpos ) const
[symbol: _ZNK10soundtouch10PeakFinder7findTopEPKfi]
TDStretch.h,
libSoundTouch.so.0.0.0
namespace soundtouch
TDStretch::calcCrossCorr ( float const* mixingPos, float const* compare ) const
[symbol: _ZNK10soundtouch9TDStretch13calcCrossCorrEPKfS2_]
TDStretch::seekBestOverlapPositionFull ( SAMPLETYPE const* refPos )
[symbol: _ZN10soundtouch9TDStretch27seekBestOverlapPositionFullEPKf]
TDStretch::seekBestOverlapPositionQuick ( SAMPLETYPE const* refPos )
[symbol: _ZN10soundtouch9TDStretch28seekBestOverlapPositionQuickEPKf]
TDStretchSSE::calcCrossCorr ( float const* pV1, float const* pV2 ) const
[symbol: _ZNK10soundtouch12TDStretchSSE13calcCrossCorrEPKfS2_]
to the top
Removed Symbols (9)
TDStretch.h,
libSoundTouch.so.0.0.0
namespace soundtouch
TDStretch::calcCrossCorrMono ( float const* mixingPos, float const* compare ) const
[symbol: _ZNK10soundtouch9TDStretch17calcCrossCorrMonoEPKfS2_]
TDStretch::calcCrossCorrStereo ( float const* mixingPos, float const* compare ) const
[symbol: _ZNK10soundtouch9TDStretch19calcCrossCorrStereoEPKfS2_]
TDStretch::precalcCorrReferenceMono ( )
[symbol: _ZN10soundtouch9TDStretch24precalcCorrReferenceMonoEv]
TDStretch::precalcCorrReferenceStereo ( )
[symbol: _ZN10soundtouch9TDStretch26precalcCorrReferenceStereoEv]
TDStretch::seekBestOverlapPositionMono ( SAMPLETYPE const* refPos )
[symbol: _ZN10soundtouch9TDStretch27seekBestOverlapPositionMonoEPKf]
TDStretch::seekBestOverlapPositionMonoQuick ( SAMPLETYPE const* refPos )
[symbol: _ZN10soundtouch9TDStretch32seekBestOverlapPositionMonoQuickEPKf]
TDStretch::seekBestOverlapPositionStereo ( SAMPLETYPE const* refPos )
[symbol: _ZN10soundtouch9TDStretch29seekBestOverlapPositionStereoEPKf]
TDStretch::seekBestOverlapPositionStereoQuick ( SAMPLETYPE const* refPos )
[symbol: _ZN10soundtouch9TDStretch34seekBestOverlapPositionStereoQuickEPKf]
TDStretchSSE::calcCrossCorrStereo ( float const* pV1, float const* pV2 ) const
[symbol: _ZNK10soundtouch12TDStretchSSE19calcCrossCorrStereoEPKfS2_]
to the top
Problems with Data Types, High Severity (8)
BPMDetect.h
namespace soundtouch
[+] class BPMDetect (3)
| Change |
Effect |
1 |
Field aboveCutAccu has been removed from the middle position of this structural type. |
1) Previous accesses of applications to the removed field will be incorrect. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
2 |
Field cutCoeff has been removed from the middle position of this structural type. |
1) Previous accesses of applications to the removed field will be incorrect. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
3 |
Field totalAccu has been removed from the middle position of this structural type. |
1) Previous accesses of applications to the removed field will be incorrect. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications. |
[+] affected symbols (7)
BPMDetect::updateXCorr ( int process_samples )
This method is from 'BPMDetect' class.
BPMDetect::calcEnvelope ( SAMPLETYPE* samples, int numsamples )
This method is from 'BPMDetect' class.
BPMDetect::inputSamples ( SAMPLETYPE const* samples, int numSamples )
This method is from 'BPMDetect' class.
BPMDetect::getBpm ( )
This method is from 'BPMDetect' class.
BPMDetect::decimate ( SAMPLETYPE* dest, SAMPLETYPE const* src, int numsamples )
This method is from 'BPMDetect' class.
BPMDetect::BPMDetect [in-charge] ( int numChannels, int aSampleRate )
This constructor is from 'BPMDetect' class.
BPMDetect::~BPMDetect [in-charge] ( )
This method is from 'BPMDetect' class.
FIFOSamplePipe.h
namespace soundtouch
[+] class FIFOSamplePipe (1)
| Change |
Effect |
1 |
Pure virtual method FIFOSamplePipe::adjustAmountOfSamples ( uint ) has been added to this class. |
1) Applications will not provide the implementation for this pure virtual method and therefore cause a crash in the library trying to call this method. 2) The layout of v-table has been changed. Call of any virtual method at higher position in this class or its subclasses may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 11 entries | Virtual Table (New) - 12 entries |
---|
0 |
(int (*)(...)) 0 |
(int (*)(...)) 0 |
8 |
(int (*)(...)) (& typeinfo for FIFOSamplePipe) |
(int (*)(...)) (& typeinfo for FIFOSamplePipe) |
16 |
(int (*)(...))0 |
(int (*)(...))0 |
24 |
(int (*)(...))0 |
(int (*)(...))0 |
32 |
__cxa_pure_virtual |
__cxa_pure_virtual |
40 |
__cxa_pure_virtual |
__cxa_pure_virtual |
48 |
__cxa_pure_virtual |
__cxa_pure_virtual |
56 |
__cxa_pure_virtual |
__cxa_pure_virtual |
64 |
__cxa_pure_virtual |
__cxa_pure_virtual |
72 |
__cxa_pure_virtual |
__cxa_pure_virtual |
80 |
__cxa_pure_virtual |
__cxa_pure_virtual |
88 |
|
__cxa_pure_virtual |
[+] affected symbols (16)
FIFOSamplePipe::putSamples ( SAMPLETYPE const* p1, uint p2 )
This method is from 'FIFOSamplePipe' class.
FIFOSamplePipe::receiveSamples ( uint p1 )
This method is from 'FIFOSamplePipe' class.
FIFOSamplePipe::receiveSamples ( SAMPLETYPE* p1, uint p2 )
This method is from 'FIFOSamplePipe' class.
FIFOSamplePipe::clear ( )
This method is from 'FIFOSamplePipe' class.
FIFOSamplePipe::ptrBegin ( )
This method is from 'FIFOSamplePipe' class.
RateTransposer::setRate ( float newRate )
This method is from derived class 'RateTransposer'.
RateTransposer::~RateTransposer [in-charge] ( )
This method is from derived class 'RateTransposer'.
FIFOSampleBuffer::putSamples ( uint nSamples )
This method is from derived class 'FIFOSampleBuffer'.
FIFOSampleBuffer::~FIFOSampleBuffer [in-charge] ( )
This method is from derived class 'FIFOSampleBuffer'.
TDStretch::clearCrossCorrState ( )
This method is from derived class 'TDStretch'.
TDStretch::~TDStretch [in-charge] ( )
This method is from derived class 'TDStretch'.
SoundTouch::numUnprocessedSamples ( ) const
This method is from derived class 'SoundTouch'.
...
TDStretch.h
namespace soundtouch
[+] class TDStretch (4)
| Change |
Effect |
1 |
Size of this class has been changed from 200 bytes to 192 bytes. |
1) The class has only inline or auto-generated constructors which will be copied to applications at compile time and will allocate an older memory layout. Call of any exported method of this class may access a memory outside the allocated objects or inside the older memory structure and result in crash or incorrect behavior of applications. 2) The memory layout and size of subclasses will be changed. |
2 |
Virtual method TDStretch::calcCrossCorrStereo ( float const*, float const* ) const has been removed from this class. |
The layout of v-table has been changed. Call of this virtual method or any virtual method at higher position in this class or its subclasses may result in crash or incorrect behavior of applications. |
3 |
Virtual method TDStretch::seekBestOverlapPositionMono ( SAMPLETYPE const* ) has been removed from this class. |
The layout of v-table has been changed. Call of this virtual method or any virtual method at higher position in this class or its subclasses may result in crash or incorrect behavior of applications. |
4 |
Virtual method TDStretch::seekBestOverlapPositionMonoQuick ( SAMPLETYPE const* ) has been removed from this class. |
The layout of v-table has been changed. Call of this virtual method or any virtual method at higher position in this class or its subclasses may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 20 entries | Virtual Table (New) - 18 entries |
---|
0 |
(int (*)(...)) 0 |
(int (*)(...)) 0 |
8 |
(int (*)(...)) (& typeinfo for TDStretch) |
(int (*)(...)) (& typeinfo for TDStretch) |
16 |
~TDStretch |
~TDStretch |
24 |
~TDStretch |
~TDStretch |
32 |
FIFOProcessor::ptrBegin() |
FIFOProcessor::ptrBegin() |
40 |
TDStretch::putSamples(float const*, unsigned int) |
TDStretch::putSamples(float const*, unsigned int) |
48 |
FIFOProcessor::receiveSamples(float*, unsigned int) |
FIFOProcessor::receiveSamples(float*, unsigned int) |
56 |
FIFOProcessor::receiveSamples(unsigned int) |
FIFOProcessor::receiveSamples(unsigned int) |
64 |
FIFOProcessor::numSamples() const |
FIFOProcessor::numSamples() const |
72 |
FIFOProcessor::isEmpty() const |
FIFOProcessor::isEmpty() const |
80 |
TDStretch::clear() |
TDStretch::clear() |
88 |
TDStretch::clearCrossCorrState() |
FIFOProcessor::adjustAmountOfSamples(unsigned int) |
96 |
TDStretch::calcCrossCorrStereo(float const*, float const*) const |
TDStretch::clearCrossCorrState() |
104 |
TDStretch::calcCrossCorrMono(float const*, float const*) const |
TDStretch::calcCrossCorr(float const*, float const*) const |
112 |
TDStretch::seekBestOverlapPositionStereo(float const*) |
TDStretch::seekBestOverlapPositionFull(float const*) |
120 |
TDStretch::seekBestOverlapPositionStereoQuick(float const*) |
TDStretch::seekBestOverlapPositionQuick(float const*) |
128 |
TDStretch::seekBestOverlapPositionMono(float const*) |
TDStretch::overlapStereo(float*, float const*) const |
136 |
TDStretch::seekBestOverlapPositionMonoQuick(float const*) |
TDStretch::overlapMono(float*, float const*) const |
144 |
TDStretch::overlapStereo(float*, float const*) const |
|
152 |
TDStretch::overlapMono(float*, float const*) const |
|
[+] affected symbols (6)
TDStretchSSE::~TDStretchSSE [in-charge] ( )
This method is from derived class 'TDStretchSSE'.
TDStretch::clearCrossCorrState ( )
This method is from 'TDStretch' class.
TDStretch::~TDStretch [in-charge] ( )
This method is from 'TDStretch' class.
TDStretchSSE::calcCrossCorrStereo ( float const* pV1, float const* pV2 ) const
This method is from derived class 'TDStretchSSE'.
TDStretch::overlapMono ( SAMPLETYPE* pOutput, SAMPLETYPE const* pInput ) const
This method is from 'TDStretch' class.
TDStretch::overlapStereo ( float* pOutput, float const* pInput ) const
This method is from 'TDStretch' class.
to the top
Problems with Data Types, Medium Severity (3)
TDStretch.h
namespace soundtouch
[+] class TDStretch (3)
| Change |
Effect |
1 |
Virtual method TDStretch::calcCrossCorr ( float const*, float const* ) const has been added to this class instead of TDStretch::calcCrossCorrMono ( float const*, float const* ) const. |
Applications will pass parameters of older replaced method to newly added virtual method. This may result in crash or incorrect behavior of applications. |
2 |
Virtual method TDStretch::seekBestOverlapPositionFull ( SAMPLETYPE const* ) has been added to this class instead of TDStretch::seekBestOverlapPositionStereo ( SAMPLETYPE const* ). |
Applications will pass parameters of older replaced method to newly added virtual method. This may result in crash or incorrect behavior of applications. |
3 |
Virtual method TDStretch::seekBestOverlapPositionQuick ( SAMPLETYPE const* ) has been added to this class instead of TDStretch::seekBestOverlapPositionStereoQuick ( SAMPLETYPE const* ). |
Applications will pass parameters of older replaced method to newly added virtual method. This may result in crash or incorrect behavior of applications. |
[+] show v-table (old and new)
Offset | Virtual Table (Old) - 20 entries | Virtual Table (New) - 18 entries |
---|
0 |
(int (*)(...)) 0 |
(int (*)(...)) 0 |
8 |
(int (*)(...)) (& typeinfo for TDStretch) |
(int (*)(...)) (& typeinfo for TDStretch) |
16 |
~TDStretch |
~TDStretch |
24 |
~TDStretch |
~TDStretch |
32 |
FIFOProcessor::ptrBegin() |
FIFOProcessor::ptrBegin() |
40 |
TDStretch::putSamples(float const*, unsigned int) |
TDStretch::putSamples(float const*, unsigned int) |
48 |
FIFOProcessor::receiveSamples(float*, unsigned int) |
FIFOProcessor::receiveSamples(float*, unsigned int) |
56 |
FIFOProcessor::receiveSamples(unsigned int) |
FIFOProcessor::receiveSamples(unsigned int) |
64 |
FIFOProcessor::numSamples() const |
FIFOProcessor::numSamples() const |
72 |
FIFOProcessor::isEmpty() const |
FIFOProcessor::isEmpty() const |
80 |
TDStretch::clear() |
TDStretch::clear() |
88 |
TDStretch::clearCrossCorrState() |
FIFOProcessor::adjustAmountOfSamples(unsigned int) |
96 |
TDStretch::calcCrossCorrStereo(float const*, float const*) const |
TDStretch::clearCrossCorrState() |
104 |
TDStretch::calcCrossCorrMono(float const*, float const*) const |
TDStretch::calcCrossCorr(float const*, float const*) const |
112 |
TDStretch::seekBestOverlapPositionStereo(float const*) |
TDStretch::seekBestOverlapPositionFull(float const*) |
120 |
TDStretch::seekBestOverlapPositionStereoQuick(float const*) |
TDStretch::seekBestOverlapPositionQuick(float const*) |
128 |
TDStretch::seekBestOverlapPositionMono(float const*) |
TDStretch::overlapStereo(float*, float const*) const |
136 |
TDStretch::seekBestOverlapPositionMonoQuick(float const*) |
TDStretch::overlapMono(float*, float const*) const |
144 |
TDStretch::overlapStereo(float*, float const*) const |
|
152 |
TDStretch::overlapMono(float*, float const*) const |
|
[+] affected symbols (3)
TDStretch::seekBestOverlapPositionStereo ( SAMPLETYPE const* refPos )
This method is from 'TDStretch' class.
TDStretch::seekBestOverlapPositionStereoQuick ( SAMPLETYPE const* refPos )
This method is from 'TDStretch' class.
TDStretch::calcCrossCorrMono ( float const* mixingPos, float const* compare ) const
This method is from 'TDStretch' class.
to the top
Problems with Data Types, Low Severity (1)
BPMDetect.h
namespace soundtouch
[+] class BPMDetect (1)
| Change |
Effect |
1 |
Size of this type has been changed from 104 bytes to 80 bytes. |
The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications. |
[+] affected symbols (7)
BPMDetect::updateXCorr ( int process_samples )
This method is from 'BPMDetect' class.
BPMDetect::calcEnvelope ( SAMPLETYPE* samples, int numsamples )
This method is from 'BPMDetect' class.
BPMDetect::inputSamples ( SAMPLETYPE const* samples, int numSamples )
This method is from 'BPMDetect' class.
BPMDetect::getBpm ( )
This method is from 'BPMDetect' class.
BPMDetect::decimate ( SAMPLETYPE* dest, SAMPLETYPE const* src, int numsamples )
This method is from 'BPMDetect' class.
BPMDetect::BPMDetect [in-charge] ( int numChannels, int aSampleRate )
This constructor is from 'BPMDetect' class.
BPMDetect::~BPMDetect [in-charge] ( )
This method is from 'BPMDetect' class.
to the top
Header Files (5)
BPMDetect.h
FIFOSampleBuffer.h
FIFOSamplePipe.h
SoundTouch.h
STTypes.h
to the top
Source Files (10)
AAFilter.cpp
BPMDetect.cpp
cpu_detect_x86_gcc.cpp
FIFOSampleBuffer.cpp
FIRFilter.cpp
PeakFinder.cpp
RateTransposer.cpp
SoundTouch.cpp
sse_optimized.cpp
TDStretch.cpp
to the top
Objects (1)
libSoundTouch.so.0.0.0
to the top