Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-06-05 | decoder/OpusReader: return StringView | Max Kellermann | |
Since we now don't duplicate all items, we can easily remove the 64kB limit from OpusReader::ReadString() and instead silently ignore and skip all strings which are longer than 4 kB. This fixes a tag duplication bug with Opus file containing a very long `METADATA_BLOCK_PICTURE` tag, which occurred because the Opus plugin returned false after parsing all tags, and then the MPD core fell back to FFmpeg which scanned the tags again. | |||
2019-03-29 | decoder/HybridDSD: downgrade log message to "debug" | Max Kellermann | |
This plugin is interesting only for a tiny fraction of MPD users, so let's not spam everybody else's log with it. | |||
2019-03-16 | decoder/opus: fix replay gain when there are no other tags | Max Kellermann | |
The `tag_builder.empty()` check was wrong for the SubmitReplayGain() call. Closes https://github.com/MusicPlayerDaemon/MPD/issues/497 | |||
2019-01-21 | meson: add fixed-point Vorbis (Tremor) decoder support | Jörg Krause | |
Re-add build support for the fixed-point Vorbis (Tremor) decoder, which was dropped when switching from Autotools to Meson. Note, that it is not possible to build both, the Vorbis and the Tremor decoder. Closes: #405 | |||
2019-01-15 | Add missing include of stdlib.h. | Thomas Klausner | |
Closes https://github.com/MusicPlayerDaemon/MPD/issues/456 | |||
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-11-04 | decoder/ffmpeg: eliminate GetSampleFormat() | Max Kellermann | |
2018-11-04 | decoder/ffmepg: fill AudioFormat from AVCodecContext, not AVCodecParameters | Max Kellermann | |
`AVCodecParameters` contains values from the codec detected by avformat_find_stream_info(), but after avcodec_open2(), a different codec might be selected with a different `AVSampleFormat`. This leads to misinterpretation of data returned from FFmpeg, leading to random noise or silence. This was observed with FFmpeg 4.0.2 and a TS container file containing MP2. A mp3-float codec was detected returning `AV_SAMPLE_FMT_FLTP`, but finally the `mpegaudiodec_fixed.c` was used, returning `AV_SAMPLE_FMT_S16`. By using the audio format from `AVCodecContext`, we ensure that MPD and FFmpeg always agree on the actual audio format in the buffer. This removes the FFmpeg bug workaround from commit e1b032cbad5 which I assume is obsolete after 7 years. Fixes #380 | |||
2018-11-04 | decoder/ffmpeg: use AtScopeExit() to call av_packet_unref() | Max Kellermann | |
2018-11-04 | decoder/ffmpeg: require FFmpeg 3.1 or later | Max Kellermann | |
Drop some compatibility code. | |||
2018-10-31 | *: copyright year 2018 | Max Kellermann | |
2018-10-23 | Merge tag 'v0.20.22' | Max Kellermann | |
release v0.20.22 | |||
2018-10-23 | decoder/fluidsynth: adapt to API change in version 2.0 | Max Kellermann | |
Closes #360 | |||
2018-10-22 | decoder/mad: convert `Tag**` parameter to just `Tag*` | Max Kellermann | |
2018-10-22 | decoder/mad: use class UniqueId3Tag | Max Kellermann | |
2018-10-22 | decoder/mad: don't initialize xing::frames | Max Kellermann | |
2018-10-22 | decoder/mad: remove unused attribute from `xing::magic` | Max Kellermann | |
2018-10-19 | decoder/mad: use mad_bit_skip() where appropriate | Max Kellermann | |
2018-10-19 | decoder/audiofile: larger stack buffer to reduce overhead | Max Kellermann | |
2018-10-19 | decoder/sndfile: make `vio` constexpr | Max Kellermann | |
Use `const_cast` to be able to pass it to sf_open_virtual() which has a wrong parameter declaration. | |||
2018-10-19 | decoder/mad: move parse_id3_mixramp() to src/tag/Id3ReplayGain.cxx | Max Kellermann | |
2018-10-16 | decoder/sidplay: fix typo to avoid linker error with meson (libsidplayfp) | skidoo23 | |
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-10-12 | decoder/wavpack: fix warning 'unused variable is_dsd' when compiled with ↵ | skidoo23 | |
--enable-dsd=no | |||
2018-10-07 | decoder/gme: fix include | Max Kellermann | |
Broken since commit 08f77c2b607a32e818ee0e0375adec840eb521c0 | |||
2018-09-22 | player/CrossFade, ...: use lround() | Max Kellermann | |
2018-09-21 | AudioFormat: add TimeToSize(), SizeToTime() | Max Kellermann | |
2018-09-21 | decoder/Client: use std::chrono::duration<double> instead of raw `double` | Max Kellermann | |
2018-08-20 | Compiler.h: move to util/ | Max Kellermann | |
2018-08-14 | Merge branch 'master' of git://github.com/skidoo23/MPD | Max Kellermann | |
2018-08-12 | decoder/sidplay: support basic and kernal rom (libsidplayfp) | skidoo23 | |
2018-08-09 | decoder/Thread, ...: log all exceptions | Max Kellermann | |
2018-08-07 | decoder/mpg123: remove obsolete const_cast hack | Max Kellermann | |
2018-08-07 | decoder/mpg123: use AtScopeExit() to call mpg123_delete() during scan | Max Kellermann | |
2018-08-07 | decoder/mpg123: use AtScopeExit() to call mpg123_delete() | Max Kellermann | |
2018-08-02 | decoder/mikmod: require at least version 3.2 | Max Kellermann | |
2018-08-02 | decoder/ffmpeg: require at least version 11.12 | Max Kellermann | |
This is the version in Debian Jessie (oldstable). | |||
2018-08-02 | DetachedSong, db/LightSong, SongFilter: move to src/song/ | Max Kellermann | |
2018-07-25 | decoder/ffmpeg: skip the av_probe_input_format() call | Max Kellermann | |
This is kind of a revert of commit b2e3c0757b2507db727d5b722b5043d3f98c7ee5, which is not any longer necessary since commit 0dd4b52b63519a4fb8197b127b7548f7c94a1a32 removed the last call to `av_open_input_stream()`. | |||
2018-07-18 | decoder/mad: make "gapless_mp3_playback" a block option | Max Kellermann | |
Remove another dependency on the config/Global library. | |||
2018-07-16 | config/Config*: rename files, drop "Config" prefix | Max Kellermann | |
2018-07-07 | decoder/flac: move flac_sample_format() to FlacAudioFormat.hxx | Max Kellermann | |
2018-07-07 | decoder/flac: rename FlacMetadata.cxx to FlacStreamMetadata.cxx | Max Kellermann | |
2018-07-07 | lib/xiph/FlacMetadataChain: un-inline Read(InputStream) | Max Kellermann | |
2018-07-07 | decoder/flac: move class FlacMetadataChain to separate source | Max Kellermann | |
2018-07-07 | decoder/flac: move FlacIOHandle.?xx to lib/xiph/ | Max Kellermann | |
2018-07-07 | decoder/flac: fix comment typo | Max Kellermann | |
2018-07-07 | lib/xiph/FlacMetadataIterator: proper CamelCase | Max Kellermann | |
2018-07-07 | decoder/flac: move class FLACMetadataIterator to separate source | Max Kellermann | |
2018-07-07 | decoder/flac: pass FLAC__Metadata_Chain* to FLACMetadataIterator ctor | Max Kellermann | |