summaryrefslogtreecommitdiff
path: root/src/decoder/plugins
AgeCommit message (Collapse)Author
2019-06-05decoder/OpusReader: return StringViewMax 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-29decoder/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-16decoder/opus: fix replay gain when there are no other tagsMax Kellermann
The `tag_builder.empty()` check was wrong for the SubmitReplayGain() call. Closes https://github.com/MusicPlayerDaemon/MPD/issues/497
2019-01-21meson: add fixed-point Vorbis (Tremor) decoder supportJö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-15Add missing include of stdlib.h.Thomas Klausner
Closes https://github.com/MusicPlayerDaemon/MPD/issues/456
2018-11-19check.h: remove obsolete headerMax 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-04decoder/ffmpeg: eliminate GetSampleFormat()Max Kellermann
2018-11-04decoder/ffmepg: fill AudioFormat from AVCodecContext, not AVCodecParametersMax 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-04decoder/ffmpeg: use AtScopeExit() to call av_packet_unref()Max Kellermann
2018-11-04decoder/ffmpeg: require FFmpeg 3.1 or laterMax Kellermann
Drop some compatibility code.
2018-10-31*: copyright year 2018Max Kellermann
2018-10-23Merge tag 'v0.20.22'Max Kellermann
release v0.20.22
2018-10-23decoder/fluidsynth: adapt to API change in version 2.0Max Kellermann
Closes #360
2018-10-22decoder/mad: convert `Tag**` parameter to just `Tag*`Max Kellermann
2018-10-22decoder/mad: use class UniqueId3TagMax Kellermann
2018-10-22decoder/mad: don't initialize xing::framesMax Kellermann
2018-10-22decoder/mad: remove unused attribute from `xing::magic`Max Kellermann
2018-10-19decoder/mad: use mad_bit_skip() where appropriateMax Kellermann
2018-10-19decoder/audiofile: larger stack buffer to reduce overheadMax Kellermann
2018-10-19decoder/sndfile: make `vio` constexprMax Kellermann
Use `const_cast` to be able to pass it to sf_open_virtual() which has a wrong parameter declaration.
2018-10-19decoder/mad: move parse_id3_mixramp() to src/tag/Id3ReplayGain.cxxMax Kellermann
2018-10-16decoder/sidplay: fix typo to avoid linker error with meson (libsidplayfp)skidoo23
2018-10-14build with Meson instead of autotoolsMax 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-12decoder/wavpack: fix warning 'unused variable is_dsd' when compiled with ↵skidoo23
--enable-dsd=no
2018-10-07decoder/gme: fix includeMax Kellermann
Broken since commit 08f77c2b607a32e818ee0e0375adec840eb521c0
2018-09-22player/CrossFade, ...: use lround()Max Kellermann
2018-09-21AudioFormat: add TimeToSize(), SizeToTime()Max Kellermann
2018-09-21decoder/Client: use std::chrono::duration<double> instead of raw `double`Max Kellermann
2018-08-20Compiler.h: move to util/Max Kellermann
2018-08-14Merge branch 'master' of git://github.com/skidoo23/MPDMax Kellermann
2018-08-12decoder/sidplay: support basic and kernal rom (libsidplayfp)skidoo23
2018-08-09decoder/Thread, ...: log all exceptionsMax Kellermann
2018-08-07decoder/mpg123: remove obsolete const_cast hackMax Kellermann
2018-08-07decoder/mpg123: use AtScopeExit() to call mpg123_delete() during scanMax Kellermann
2018-08-07decoder/mpg123: use AtScopeExit() to call mpg123_delete()Max Kellermann
2018-08-02decoder/mikmod: require at least version 3.2Max Kellermann
2018-08-02decoder/ffmpeg: require at least version 11.12Max Kellermann
This is the version in Debian Jessie (oldstable).
2018-08-02DetachedSong, db/LightSong, SongFilter: move to src/song/Max Kellermann
2018-07-25decoder/ffmpeg: skip the av_probe_input_format() callMax 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-18decoder/mad: make "gapless_mp3_playback" a block optionMax Kellermann
Remove another dependency on the config/Global library.
2018-07-16config/Config*: rename files, drop "Config" prefixMax Kellermann
2018-07-07decoder/flac: move flac_sample_format() to FlacAudioFormat.hxxMax Kellermann
2018-07-07decoder/flac: rename FlacMetadata.cxx to FlacStreamMetadata.cxxMax Kellermann
2018-07-07lib/xiph/FlacMetadataChain: un-inline Read(InputStream)Max Kellermann
2018-07-07decoder/flac: move class FlacMetadataChain to separate sourceMax Kellermann
2018-07-07decoder/flac: move FlacIOHandle.?xx to lib/xiph/Max Kellermann
2018-07-07decoder/flac: fix comment typoMax Kellermann
2018-07-07lib/xiph/FlacMetadataIterator: proper CamelCaseMax Kellermann
2018-07-07decoder/flac: move class FLACMetadataIterator to separate sourceMax Kellermann
2018-07-07decoder/flac: pass FLAC__Metadata_Chain* to FLACMetadataIterator ctorMax Kellermann