- 19 Oct, 2021 1 commit
-
-
Max Kellermann authored
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1294
-
- 26 Aug, 2021 4 commits
-
-
Max Kellermann authored
The ChainFilter class is extremely complicated code, and will grow to be even more complicated when the Filter interface gets extended. Let's just remove it; we can easily chain many TwoFilters instead.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
- 24 Aug, 2021 5 commits
-
-
Max Kellermann authored
Insert an "aformat" filter which converts double-precision to single-precision. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1235
-
Max Kellermann authored
If DetectFilterOutputFormat() fails to determine the output format, insert an "aformat" filter which attempts to force a specific output format. Fixes part 2 of of https://github.com/MusicPlayerDaemon/MPD/issues/1235
-
Max Kellermann authored
-
Max Kellermann authored
Merge some duplicate code.
-
Max Kellermann authored
Since AVFilterContext are freed automatically, this wrapper class serves no purpose. Let's remove it.
-
- 21 Aug, 2021 1 commit
-
-
Rosen Penev authored
The latter is easier to read and is the "correct" thing to do. Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 25 Jun, 2021 1 commit
-
-
Max Kellermann authored
-
- 24 Jun, 2021 1 commit
-
-
Max Kellermann authored
-
- 31 May, 2021 1 commit
-
-
Rosen Penev authored
Found with cppcoreguidelines-special-member-functions Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 01 Jan, 2021 1 commit
-
-
Max Kellermann authored
-
- 16 Nov, 2020 1 commit
-
-
Max Kellermann authored
Some FFmpeg filters change the sample format, and since MPD assumes this never happens, this results in loud noise instead of music. This commit finally implements the TODO comment by sending one frame of silence to the filter and checking the output frame's format. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1009
-
- 04 Nov, 2020 7 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
If no conversion is necessary, return the child Filter as-is. This allows removing all nullptr checks from AutoConvertFilter.
-
Max Kellermann authored
If the FFmpeg filter outputs planar data, interleave it, just like the FFmpeg decoder plugin does.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
filter_chain_parse() passes a temporary string pointer which results in a use-after-free in the PreparedChainFilter::Child::Open() error message.
-
Max Kellermann authored
-
- 16 Mar, 2020 1 commit
-
-
Rosen Penev authored
[[maybe_unused]] (introduced in C++17) is standard C++. https://clang.llvm.org/docs/AttributeReference.html#maybe-unused-unused says that this is equivalent to the GNU unused attribute. Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 13 Mar, 2020 1 commit
-
-
Rosen Penev authored
The former is deprecated by C++14. The standard says they are the same: The header defines all types and macros the same as the C standard library header<stdint.h>. Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 12 Mar, 2020 2 commits
-
-
Rosen Penev authored
The former was deprecated with C++14. According to the C++11 and C++17 standards, both files are identical. Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
Rosen Penev authored
Introduced in C++17. It replaces gcc's warn_unused_result. Found with modernize-use-nodiscard. Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 01 Feb, 2020 3 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
Rosen Penev authored
Found with modernize-use-override Signed-off-by:
Rosen Penev <rosenp@gmail.com>
-
- 18 Jan, 2020 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 09 Dec, 2019 1 commit
-
-
Jacob Vosmaer authored
-
- 26 Aug, 2019 1 commit
-
-
Max Kellermann authored
-
- 30 Jul, 2019 1 commit
-
-
Max Kellermann authored
Applying software volume to S16 samples means several bits of precision are lost; at 25% volume, two bits are lost. Additionally, dithering adds some noise. The problem gets worse when you apply the software volume code twice: for the software mixer volume, and again for the replay gain. This loses some more precision and adds even more dithering noise, which can become audible (see https://github.com/MusicPlayerDaemon/MPD/issues/542). By converting everything to 24 bit, we need to shift only two bits to the right instead of ten, losing nearly no precision, and dithering is not needed. Even if the output device is unable to play S24 directly, we can convert back to S16 with only one stage of dithering. Closes https://github.com/MusicPlayerDaemon/MPD/issues/542
-
- 05 Jul, 2019 2 commits
-
-
Max Kellermann authored
Prepare for a new mode which may convert to a different sample format when applying volume, to reduce dithering.
-
Max Kellermann authored
-
- 17 Jun, 2019 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 04 Apr, 2019 1 commit
-
-
Max Kellermann authored
Let the constructor and destructor do this. This means that all users have to be converted to allocate PcmConvert dynamically.
-