| Commit message (Collapse) | Author | Files | Lines |
|
The PcmResampler interface is implemented by the two classes
FallbackPcmResampler and LibsampleratePcmResampler. This prepares for
adding more resampler libraries.
|
|
Remove compatibility code.
|
|
Using pcm_resample_lsr_32() for 24 bit samples works, but may cause 24
bit overflows. This commit makes 24 bit a special case with explicit
clipping.
|
|
Replaces GLib's g_ascii_strncasecmp().
|
|
Prepare to migrate away from GLib. Currently, we're still using GLib
as a backend.
|
|
Use only ConfigData.hxx in plugin sources to reduce header
dependencies.
|
|
Replaces GLib's GError.
|
|
|
|
|
|
|
|
Resets the libsamplerate state. Not being used yet.
|
|
A version of the resampler that doesn't need int->float->int
conversion.
|
|
Reduces number of implicit integer conversions.
|
|
|
|
Let the libsamplerate code initialize itself.
|
|
Load the samplerate_converter on MPD startup. Fail if the converter
name is invalid.
|
|
|
|
|
|
After we've been hit by Large File Support problems several times in
the past week (which only occur on 32 bit platforms, which I don't
have), this is yet another attempt to fix the issue.
|
|
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.
|