aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* pcm/PcmResampler: convert to abstract interfaceMax Kellermann2013-11-3017-886/+694
| | | | | | The PcmResampler interface is implemented by the two classes FallbackPcmResampler and LibsampleratePcmResampler. This prepares for adding more resampler libraries.
* pcm/PcmConvert: move code to new class GluePcmResamplerMax Kellermann2013-11-304-139/+152
|
* pcm/PcmConvert: move code to new class PcmChannelsConverterMax Kellermann2013-11-304-66/+222
|
* pcm/PcmConvert: move code to new class PcmFormatConverterMax Kellermann2013-11-304-68/+243
|
* pcm/PcmConvert: add AudioFormat parametersMax Kellermann2013-11-302-53/+53
| | | | | | | Don't use src_format. In the middle of Convert(), the current AudioFormat has already been modified, it's now something in between src_format and dest_format. This simplifies keeping track of what remains to be done.
* pcm/PcmConvert: use struct ConstBuffer internallyMax Kellermann2013-11-292-61/+36
|
* pcm/PcmDsd: use struct ConstBufferMax Kellermann2013-11-293-25/+26
|
* pcm/PcmDsd: make attributes privateMax Kellermann2013-11-291-1/+2
|
* PcmConvert: add pcm_convert_global_init()Max Kellermann2013-11-292-0/+9
| | | | | Wrapper for pcm_resample_global_init(), just in case other PCM libraries need initialization, too.
* pcm: drop compatibility with libsamplerate older than 0.1.3Max Kellermann2013-11-281-20/+0
| | | | Remove compatibility code.
* PcmConvert: fix src_format corruption when converting from DSDMax Kellermann2013-11-282-6/+12
| | | | | | | Method PcmConvert::Convert() modifies the src_format variable. This used to be a parameter, however commit d2679f59c made it an attribute instead. The modification to src_format persisted, and the next call would return garbage.
* include cleanup using iwyuMax Kellermann2013-11-285-3/+5
|
* Merge branch 'v0.18.x'Max Kellermann2013-11-235-7/+70
|\
| * PcmResampleLibsamplerate: clip 24 bit dataMax Kellermann2013-11-223-2/+47
| | | | | | | | | | | | 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.
| * PcmResample: un-inline Resample24()Max Kellermann2013-11-222-7/+13
| |
| * PcmUtils: add function PcmClampN()Max Kellermann2013-11-221-0/+12
| |
* | PcmConvert: add methods Open(), Close()Max Kellermann2013-11-132-44/+60
| | | | | | | | | | Replaces Reset() and eliminates the AudioFormat parameters from the Convert() method.
* | PcmResampleFallback: use PcmBuffer instead of PcmResamplerMax Kellermann2013-11-133-9/+9
|/ | | | Lighter API.
* *: update copyright year to 2013Max Kellermann2013-10-305-5/+5
|
* PcmMix: use negative value instead of NaN for additionMax Kellermann2013-10-302-4/+5
| | | | Avoid NaN to allow -ffast-math.
* *: use nullptr instead of NULLMax Kellermann2013-10-286-41/+42
|
* PcmFormat: move definitions to struct SampleTraitsMax Kellermann2013-10-281-36/+81
|
* Util/ASCII: add StringEqualsCaseASCII() overload with lengthMax Kellermann2013-10-211-3/+2
| | | | Replaces GLib's g_ascii_strncasecmp().
* system/ByteOrder: new library for byte ordering / endianessMax Kellermann2013-10-161-5/+4
| | | | Replacing GLib macros.
* util/byte_reverse: convert to C++Max Kellermann2013-10-161-4/+1
|
* pcm_pack: convert to C++Max Kellermann2013-10-165-9/+6
|
* Client, ...: remove unnecessary glib.h includeMax Kellermann2013-10-152-4/+0
|
* Util/Macros: replacement for GLib's G_N_ELEMENTS()Max Kellermann2013-10-151-6/+5
|
* gcc.h: rename to Compiler.hMax Kellermann2013-10-153-3/+3
|
* gcc.h: major updateMax Kellermann2013-10-152-24/+24
| | | | | Copy the according file from another project (i.e. XCSoar). This will allow copying more code more easily.
* Log: new logging library APIMax Kellermann2013-10-023-13/+7
| | | | | Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
* conf.h: remove obsolete headerMax Kellermann2013-09-052-2/+2
| | | | | Use only ConfigData.hxx in plugin sources to reduce header dependencies.
* util/Error: new error passing libraryMax Kellermann2013-09-046-103/+102
| | | | Replaces GLib's GError.
* PcmBuffer: move code to new class ReusableBufferMax Kellermann2013-08-075-44/+10
| | | | ReusableBuffer is more generic.
* add missing includesMax Kellermann2013-08-072-0/+2
|
* *: use gcc.h macros instead of GLibMax Kellermann2013-08-044-6/+6
|
* audio_format: convert to C++Max Kellermann2013-08-0311-165/+165
|
* gcc.h: add macro gcc_unreachable()Max Kellermann2013-08-032-6/+3
|
* PcmBuffer: reset size in Clear()Max Kellermann2013-08-011-0/+1
| | | | | | | | | | | | Fix for Mantis #3806. "PcmBuffer::Clear clears the buffer but does not reset the size. If Get is called on the same PcmBuffer later on with a size that is the same as (or less than) it was before the call to Clear, the "else" branch is taken and the memory of buffer (at the address of nullptr) is poisoned instead of the necessary allocation being performed. A memset or memcpy on the returned pointer (nullptr) causes a segmentation fault."
* include cleanupMax Kellermann2013-07-302-2/+0
|
* pcm_buffer: convert to C++Max Kellermann2013-07-3019-225/+145
|
* pcm_resample: convert to C++Max Kellermann2013-07-308-315/+260
|
* PcmConvert: don't memset() in the constructorMax Kellermann2013-07-301-4/+2
| | | | | This destroys data inside PcmDsd and other attributes. It was once necessary, but is not anymore.
* pcm_dsd: convert to C++Max Kellermann2013-07-297-62/+52
|
* pcm_export: convert to C++Max Kellermann2013-04-093-226/+198
|
* pcm_*: move to src/pcm/Max Kellermann2013-04-0937-0/+4533