Because config.h defines __MSVCRT_VERSION__, which should be defined
before inclusion of any system header.
Also fixes mpegdemux Makefile.am LIBADD typo.
Fixes#606665
Internally BPMDetect assumes that at most 2048 samples are passed
to it at once and stores those in a stack allocated static sized
array. If we pass too many samples this will result in a buffer overflow
resulting in heavy stack corruption and a crash. Fixes bug #570996.
Original commit message from CVS:
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/soundtouch/gstbpmdetect.cc:
Cast NULL sentinels to void * as NULL is defined as an integer
constant in most environments when using C++ and it's size might
be different from a pointer.
Original commit message from CVS:
* ext/soundtouch/gstbpmdetect.cc:
Clean up a bit and only allocate a temporary buffer for the data
if processing stereo data as BPMDetect downmixes from stereo to
mono and stores the result in the input data. Thanks to
Stefan Kost for the suggestions.
Original commit message from CVS:
* ext/soundtouch/Makefile.am:
* ext/soundtouch/gstbpmdetect.cc:
* ext/soundtouch/gstbpmdetect.hh:
* ext/soundtouch/plugin.c: (plugin_init):
Add BPM detection plugin based on SoundTouch's libBPM.
* ext/soundtouch/gstpitch.cc:
Allow sample rates until MAX instead of only 48kHz and remove the
buffer-frames field from that caps.
Clear the remaining samples completely when necessary to get into
a clean state again.