aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcm (unfollow)
Commit message (Collapse)AuthorFilesLines
2013-12-02pcm/PcmUtils: remove unused function PcmClampN()Max Kellermann1-12/+0
2013-12-02pcm/PcmVolume: use the SampleTraits libraryMax Kellermann1-30/+22
2013-12-02pcm/PcmFormat: use SampleTraits::long_type in ConvertFromFloat()Max Kellermann1-2/+4
2013-12-02pcm/PcmPrng: add "constexpr"Max Kellermann1-1/+1
2013-12-01pcm/PcmMix: use the SampleTraits library for MixRampMax Kellermann1-15/+22
2013-12-01pcm/PcmMix: use the SampleTraits libraryMax Kellermann1-21/+29
2013-12-01pcm/SampleTraits: use 64 bit for S24 long_typeMax Kellermann1-1/+1
2013-12-01pcm/Traits: add typedef long_typeMax Kellermann1-0/+13
2013-12-01pcm/Traits: add API documentationMax Kellermann1-0/+24
2013-12-01pcm/PcmFormat: move generic definitions to Traits.hxxMax Kellermann2-45/+72
2013-12-01pcm/SoxrResampler: new resampler option using libsoxrMax Kellermann3-0/+162
2013-12-01pcm/ConfiguredResampler: convert boolean flag to enumMax Kellermann1-13/+31
Prepare for adding more resamplers.
2013-11-30pcm/PcmResampler: convert to abstract interfaceMax Kellermann17-886/+694
The PcmResampler interface is implemented by the two classes FallbackPcmResampler and LibsampleratePcmResampler. This prepares for adding more resampler libraries.
2013-11-30pcm/PcmConvert: move code to new class GluePcmResamplerMax Kellermann4-139/+152
2013-11-30pcm/PcmConvert: move code to new class PcmChannelsConverterMax Kellermann4-66/+222
2013-11-30pcm/PcmConvert: move code to new class PcmFormatConverterMax Kellermann4-68/+243
2013-11-30pcm/PcmConvert: add AudioFormat parametersMax Kellermann2-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.
2013-11-29pcm/PcmConvert: use struct ConstBuffer internallyMax Kellermann2-61/+36
2013-11-29pcm/PcmDsd: use struct ConstBufferMax Kellermann3-25/+26
2013-11-29pcm/PcmDsd: make attributes privateMax Kellermann1-1/+2
2013-11-29PcmConvert: add pcm_convert_global_init()Max Kellermann2-0/+9
Wrapper for pcm_resample_global_init(), just in case other PCM libraries need initialization, too.
2013-11-28pcm: drop compatibility with libsamplerate older than 0.1.3Max Kellermann1-20/+0
Remove compatibility code.
2013-11-28PcmConvert: fix src_format corruption when converting from DSDMax Kellermann2-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.
2013-11-28include cleanup using iwyuMax Kellermann5-3/+5
2013-11-22PcmResampleLibsamplerate: clip 24 bit dataMax Kellermann3-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.
2013-11-22PcmResample: un-inline Resample24()Max Kellermann2-7/+13
2013-11-22PcmUtils: add function PcmClampN()Max Kellermann1-0/+12
2013-11-13PcmConvert: add methods Open(), Close()Max Kellermann2-44/+60
Replaces Reset() and eliminates the AudioFormat parameters from the Convert() method.
2013-11-13PcmResampleFallback: use PcmBuffer instead of PcmResamplerMax Kellermann3-9/+9
Lighter API.
2013-10-30*: update copyright year to 2013Max Kellermann5-5/+5
2013-10-30PcmMix: use negative value instead of NaN for additionMax Kellermann2-4/+5
Avoid NaN to allow -ffast-math.
2013-10-28*: use nullptr instead of NULLMax Kellermann6-41/+42
2013-10-28PcmFormat: move definitions to struct SampleTraitsMax Kellermann1-36/+81
2013-10-21Util/ASCII: add StringEqualsCaseASCII() overload with lengthMax Kellermann1-3/+2
Replaces GLib's g_ascii_strncasecmp().
2013-10-16system/ByteOrder: new library for byte ordering / endianessMax Kellermann1-5/+4
Replacing GLib macros.
2013-10-16util/byte_reverse: convert to C++Max Kellermann1-4/+1
2013-10-16pcm_pack: convert to C++Max Kellermann5-9/+6
2013-10-15Client, ...: remove unnecessary glib.h includeMax Kellermann2-4/+0
2013-10-15Util/Macros: replacement for GLib's G_N_ELEMENTS()Max Kellermann1-6/+5
2013-10-15gcc.h: rename to Compiler.hMax Kellermann3-3/+3
2013-10-15gcc.h: major updateMax Kellermann2-24/+24
Copy the according file from another project (i.e. XCSoar). This will allow copying more code more easily.
2013-10-02Log: new logging library APIMax Kellermann3-13/+7
Prepare to migrate away from GLib. Currently, we're still using GLib as a backend.
2013-09-05conf.h: remove obsolete headerMax Kellermann2-2/+2
Use only ConfigData.hxx in plugin sources to reduce header dependencies.
2013-09-04util/Error: new error passing libraryMax Kellermann6-103/+102
Replaces GLib's GError.
2013-08-07PcmBuffer: move code to new class ReusableBufferMax Kellermann5-44/+10
ReusableBuffer is more generic.
2013-08-07add missing includesMax Kellermann2-0/+2
2013-08-04*: use gcc.h macros instead of GLibMax Kellermann4-6/+6
2013-08-03audio_format: convert to C++Max Kellermann11-165/+165
2013-08-03gcc.h: add macro gcc_unreachable()Max Kellermann2-6/+3
2013-08-01PcmBuffer: reset size in Clear()Max Kellermann1-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."