| Commit message (Collapse) | Author | Files | Lines |
|
Don't abort the whole MPD process when the conversion fails. This has
been a denial-of-service attack vector for years.
|
|
strncasecmp() is locale dependent, making it a bad choice for internal
string comparisons.
|
|
Added diversion functions to pcm_resample.c. These check which
resampler is enabled at compile time (libsamplerate or fallback).
This prepares the following patch.
|
|
Changed "0" to "NULL".
|
|
This updates the copyright header to all be the same, which is
pretty much an update of where to mail request for a copy of the GPL
and the years of the MPD project. This also puts all committers under
'The Music Player Project' umbrella. These entries should go
individually in the AUTHORS file, for consistancy.
|
|
Resampling 32 bit samples is the same as resampling 24 bit samples -
both are stored in the int32_t type.
|
|
Don't return a writable pointer.
|
|
|
|
Use the PCM buffer library for the libsamplerate output buffer.
|
|
Return a temporary buffer from pcm_resample_*() and pcm_convert().
|
|
Free memory allocated by libsamplerate when the output or the decoder
is closed.
|
|
|
|
|
|
libsamplerate 0.1.2 didn't have the 32 bit <-> float conversion
routines. Emulate them in case they aren't supported.
|
|
Similar to pcm_resample_16(), implement pcm_resample_24(). The 24 bit
implementation is very similar, but it uses src_int_to_float_array()
instead of src_short_to_float_array() before sending data to
libsamplerate.
|
|
A future patch will implement a 24 bit resampler. To unify code, move
code which can be shared to a separate function.
|
|
Added assertions which ensure that there are no partial samples in the
source buffer.
|
|
Use sizeof(sample) instead of hard-coding "2". Although we're in 16
bit right now, this will make code sharing easier when we support
other sample sizes.
|
|
Separate the resampling code from the rest of pcm_utils.c. Create two
sub-libraries: pcm_resample_libsamplerate.c and
pcm_resample_fallback.c.
|