aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm/PcmResampleLibsamplerate.cxx (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-11-22PcmResampleLibsamplerate: clip 24 bit dataMax Kellermann1-0/+25
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.
2013-10-21Util/ASCII: add StringEqualsCaseASCII() overload with lengthMax Kellermann1-3/+2
Replaces GLib's g_ascii_strncasecmp().
2013-10-02Log: new logging library APIMax Kellermann1-7/+7
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-09-05conf.h: remove obsolete headerMax Kellermann1-1/+0
Use only ConfigData.hxx in plugin sources to reduce header dependencies.
2013-09-04util/Error: new error passing libraryMax Kellermann1-26/+23
Replaces GLib's GError.
2013-07-30pcm_buffer: convert to C++Max Kellermann1-16/+11
2013-07-30pcm_resample: convert to C++Max Kellermann1-61/+44
2013-04-09pcm_*: move to src/pcm/Max Kellermann1-0/+0
2012-03-01pcm_convert: add method _reset()Max Kellermann1-0/+7
Resets the libsamplerate state. Not being used yet.
2011-10-20pcm_resample: add function pcm_resample_float()Max Kellermann1-0/+39
A version of the resampler that doesn't need int->float->int conversion.
2011-10-19pcm_{channels,resample}: pass channel count as integer, not uint8_tMax Kellermann1-3/+3
Reduces number of implicit integer conversions.
2011-10-08pcm_resample_lsr: move common code to lsr_process()Max Kellermann1-32/+17
2011-10-08pcm_resample: add internal function _lsr_init()Max Kellermann1-0/+10
Let the libsamplerate code initialize itself.
2011-10-08pcm_resample: one-time global initializationMax Kellermann1-40/+47
Load the samplerate_converter on MPD startup. Fail if the converter name is invalid.
2011-01-29copyright year 2011Max Kellermann1-1/+1
2009-12-31Update copyright notices.Avuton Olrich1-1/+1
2009-11-12include config.h in all sourcesMax Kellermann1-1/+1
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.
2009-07-23pcm_convert: use GError for error handlingMax Kellermann1-22/+49
Don't abort the whole MPD process when the conversion fails. This has been a denial-of-service attack vector for years.
2009-04-28libsamplerate: use g_ascii_strncasecmp() instead of strncasecmp()Max Kellermann1-1/+1
strncasecmp() is locale dependent, making it a bad choice for internal string comparisons.
2009-03-14pcm_resample: renamed implementation functionsMax Kellermann1-14/+15
Added diversion functions to pcm_resample.c. These check which resampler is enabled at compile time (libsamplerate or fallback). This prepares the following patch.
2009-03-14pcm_resample: return NULL on failureMax Kellermann1-4/+4
Changed "0" to "NULL".
2009-03-13all: Update copyright header.Avuton Olrich1-7/+7
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.
2009-03-02pcm_resample: use 24 bit resampling code for 32 bit samplesMax Kellermann1-1/+1
Resampling 32 bit samples is the same as resampling 24 bit samples - both are stored in the int32_t type.
2009-01-17conf: replaced getConfigParamValue() with config_get_string()Max Kellermann1-1/+1
Don't return a writable pointer.
2009-01-08added missing explicit config.h includesMax Kellermann1-0/+1
2009-01-08pcm_resample: use pcm_buffer (2/2)Max Kellermann1-16/+6
Use the PCM buffer library for the libsamplerate output buffer.
2009-01-08pcm_resample: use pcm_buffer (1/2)Max Kellermann1-15/+22
Return a temporary buffer from pcm_resample_*() and pcm_convert().
2009-01-07pcm: added pcm_convert_deinit(), pcm_resample_deinit()Max Kellermann1-0/+7
Free memory allocated by libsamplerate when the output or the decoder is closed.
2009-01-03pcm: use GLib instead of utils.hMax Kellermann1-5/+4
2008-12-29pcm: use GLib loggingMax Kellermann1-12/+16
2008-10-24pcm_resample: support for libsamplerate < 0.1.3Max Kellermann1-0/+20
libsamplerate 0.1.2 didn't have the 32 bit <-> float conversion routines. Emulate them in case they aren't supported.
2008-10-23pcm_resample: implemented 24 bit resamplingMax Kellermann1-0/+53
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.
2008-10-23pcm_resample: moved code to pcm_resample_set()Max Kellermann1-29/+40
A future patch will implement a 24 bit resampler. To unify code, move code which can be shared to a separate function.
2008-10-23pcm_resample: don't resample partial samplesMax Kellermann1-0/+4
Added assertions which ensure that there are no partial samples in the source buffer.
2008-10-23pcm_resample: don't hard-code sample sizeMax Kellermann1-3/+3
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.
2008-10-23pcm_utils: moved code to pcm_resample.cMax Kellermann1-0/+140
Separate the resampling code from the rest of pcm_utils.c. Create two sub-libraries: pcm_resample_libsamplerate.c and pcm_resample_fallback.c.