Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-11-19 | check.h: remove obsolete header | Max Kellermann | |
Since we switched from autotools to Meson in commit 94592c14062d5afc9482d11baa401648082022c0, we don't need to include `config.h` early to properly enable large file support. Meson passes the required macros on the compiler command line instead of defining them in `config.h`. This means we can include `config.h` at any time, whenever we want to check its macros, and there are no ordering constraints. | |||
2018-10-31 | *: copyright year 2018 | Max Kellermann | |
2018-10-30 | pcm: build dsd2pcm only if -Dtest=true | Max Kellermann | |
2018-10-30 | pcm/Clamp: convert to `constexpr` | Max Kellermann | |
2018-10-30 | pcm/PcmUtils: rename to Clamp.hxx | Max Kellermann | |
2018-10-29 | pcm/FloatConvert: make IntegerToFloatSampleConvert::Convert() constexpr | Max Kellermann | |
2018-10-29 | Merge branch 'v0.20.x' | Max Kellermann | |
2018-10-29 | pcm/FloatConvert: fix compile-time integer overflow for S32 | Max Kellermann | |
The compile-time calculation for `factor` overflows because `1<<31` cannot be represented by `int`. By casting to `uintmax_t` first, we can avoid this overflow. Closes #380 | |||
2018-10-29 | pcm/FloatConvert: use FloatToIntegerSampleConvert::factor for ↵ | Max Kellermann | |
IntegerToFloatSampleConvert::factor | |||
2018-10-29 | pcm/FloatConvert: add `static_assert` on the factor | Max Kellermann | |
This assertion currently fails for S32 due to integer overflow (#380). | |||
2018-10-14 | build with Meson instead of autotools | Max Kellermann | |
So long, autotools! This is my last MPD related project to migrate away from it. It has its strengths, but also very obvious weaknesses and weirdnesses. Today, many of its quirks are not needed anymore, and are cumbersome and slow. Now welcome our new Meson overlords! | |||
2018-09-22 | player/CrossFade, ...: use lround() | Max Kellermann | |
2018-08-20 | Compiler.h: move to util/ | Max Kellermann | |
2018-07-17 | pcm/ConfiguredResampler: use struct ConfigData | Max Kellermann | |
2018-07-17 | config/Global: remove ConfigBlock::SetUsed() call, let caller do that | Max Kellermann | |
This fixes an old bug which caused the "unused" warnings to be unreliable; only the first block in the list was marked as being "used", no matter if it was really used, and the rest was never marked as "used", suppressing all warnings for them. | |||
2018-07-16 | config/Config*: rename files, drop "Config" prefix | Max Kellermann | |
2018-07-16 | Main, pcm/SampleFormat, command/Error: remove obsolete GCC version checks | Max Kellermann | |
2018-07-06 | Merge branch 'v0.20.x' | Max Kellermann | |
2018-07-06 | AudioFormat: include cleanup | Max Kellermann | |
2018-03-15 | Merge branch 'v0.20.x' | Max Kellermann | |
2018-03-15 | pcm/PcmDop: round down to the nearest multiple of 4 DSD bytes | Max Kellermann | |
There was a discrepancy between what was written to the buffer and the size returned by pcm_dsd_to_dop(): the "for" loop uses num_frames/2, rounding down, while the return value is num_samples which is num_frames*channels, without rounding. This could cause undefined data at the end of the destination buffer if the source buffer size was not aligned to multiples of 8 bytes (4 DSD bytes per channel). The latter however can occur in the 0.21 branch after commit a06bf388d96 Closes #233 | |||
2018-03-15 | pcm/PcmDop: use size_t | Max Kellermann | |
2018-02-11 | Merge tag 'v0.20.17' | Max Kellermann | |
release v0.20.17 | |||
2018-02-09 | pcm/Order: fix size calculation with 8 channels | Max Kellermann | |
This was a buffer overflow bug which could cause MPD crahes when playing back 8 channels with the ALSA output plugin. Closes #216 | |||
2018-01-05 | Merge branch 'v0.20.x' | Max Kellermann | |
2018-01-02 | pcm/Resampler: add virtual method Flush() | Max Kellermann | |
Wired to Filter::Flush(). Closes #153 | |||
2018-01-02 | pcm/SoxrResampler: implement method Reset() | Max Kellermann | |
2018-01-01 | pcm/*: add "noexcept" | Max Kellermann | |
2017-12-26 | Merge branch 'v0.20.x' | Max Kellermann | |
2017-12-23 | pcm/SampleFormat: remove wrong "malloc" attribute | Max Kellermann | |
2017-12-18 | Compiler.h: add gcc_returns_nonnull, gcc_returns_twice | Max Kellermann | |
2017-12-16 | Merge branch 'v0.20.x' | Max Kellermann | |
2017-12-12 | *: check defined(_WIN32) instead of defined(WIN32) | Max Kellermann | |
Only _WIN32 is defined by the compiler, and WIN32 is not standardized and may be missing. Closes #169 | |||
2017-11-10 | util/{Const,Writable}Buffer, ...: rename IsEmpty() to empty(), imitating STL | Max Kellermann | |
2017-10-26 | pcm/Export: add "noexcept" | Max Kellermann | |
2017-10-26 | pcm/Dop: add "noexcept" | Max Kellermann | |
2017-10-26 | pcm/Pack: add "noexcept" | Max Kellermann | |
2017-10-26 | pcm/Dsd*: add "noexcept" | Max Kellermann | |
2017-10-26 | pcm/Order: add "noexcept" | Max Kellermann | |
2017-06-04 | *: add lots of "noexcept" specifications | Max Kellermann | |
2017-06-04 | Merge tag 'v0.20.9' | Max Kellermann | |
release v0.20.9 | |||
2017-06-03 | storage, db, mixer, command: remove more bogus "pure" attributes | Max Kellermann | |
This commit is similar to 788e3b31e1ab8243386339eaf136ede18f015d55, and removes more "pure" attributes which were placed on functions that could throw exceptions, which is illegal according to clang's understanding of the attribute (but not according to GCC's). GitHub issue #58 was most likely about StorageDirectoryReader::GetInfo() and Storage::GetInfo(), which still had "pure" attributes. Closes #58 | |||
2017-05-15 | Merge tag 'v0.20.7' | Max Kellermann | |
release v0.20.7 | |||
2017-05-08 | *: add "noexcept" to many, many function prototypes | Max Kellermann | |
This eliminates some overhead, because the compiler doesn't need to consider these functions throwing. | |||
2017-04-24 | pcm/PcmPack: add pcm_unpack_24be() | Max Kellermann | |
2017-04-22 | pcm/PcmPack: remove obsolete code comment | Max Kellermann | |
2017-04-22 | pcm/PcmPack: simplify unpack_sample() | Max Kellermann | |
2017-01-27 | pcm/SampleFormat: workaround for GCC 4.9 "constexpr" bug | Max Kellermann | |
GCC 4.9 has incomplete C++14 support. Specifically, it doesn't allow switch/case in "constexpr" functions. | |||
2017-01-20 | pcm/Traits: add "SILENCE" attribute | Max Kellermann | |
2017-01-20 | pcm/Traits: add specialization for SampleFormat::DSD | Max Kellermann | |