Commit Graph

14648 Commits

Author SHA1 Message Date
Max Kellermann 57c5603122 util/ForeignFifoBuffer: import std::swap() 2019-08-16 13:27:22 +02:00
Max Kellermann 1550113506 util/DynamicFifoBuffer: add nullptr constructor overload 2019-08-16 13:21:28 +02:00
Max Kellermann a82d61a5e4 util/DynamicFifoBuffer: add API documentation 2019-08-16 13:21:11 +02:00
Max Kellermann 0c4a7c8004 util/AllocatedString: update copyright 2019-08-16 13:20:23 +02:00
Max Kellermann 674ee9d19a util/Exception: forward the exception in ThrowException()
Fixes -Wreturn-std-move (clang 8).
2019-08-16 13:19:34 +02:00
Max Kellermann 3344953db8 util/*FifoBuffer: use using instead of typedef 2019-08-16 13:16:45 +02:00
Max Kellermann f909615b14 include cleanups (powered by iwyu) 2019-08-15 17:57:20 +02:00
Max Kellermann 92c89f0c86 playlist/flac: allow reading from FLAC streams 2019-08-15 11:13:39 +02:00
Max Kellermann 34246eb7fd playlist/flac: read the file only once using FLAC__Metadata_Chain 2019-08-15 10:40:48 +02:00
Max Kellermann 5894514ccb playlist/flac: move code to ToSongEnumerator() 2019-08-15 10:40:37 +02:00
Max Kellermann dcb07e6ed4 playlist/flac: use class MemorySongEnumerator 2019-08-15 09:45:03 +02:00
Max Kellermann ccffff9870 playlist/flac: use the NarrowPath for FLAC__metadata_get_streaminfo() 2019-08-15 09:44:20 +02:00
Max Kellermann e34672c9d8 lib/xiph/FlacMetadataIterator: add noexcept 2019-08-14 20:14:26 +02:00
Max Kellermann a8f314190f playlist/flac: add noexcept 2019-08-14 20:08:55 +02:00
Max Kellermann 545af857ba lib/xiph/{FlacStreamMetadata,VorbisComments}: merge redundant code 2019-08-14 19:57:12 +02:00
Max Kellermann 01f86e1c25 lib/xiph/FlacStreamMetadata: pass StringView to flac_scan_comment() 2019-08-14 19:54:19 +02:00
Max Kellermann 7a89b1656c lib/xiph/FlacStreamMetadata: properly convert entries to StringView 2019-08-14 19:44:14 +02:00
Max Kellermann 07fcf091a2 tag/MixRamp: pass StringView to ParseMixRampVorbis() 2019-08-14 19:42:48 +02:00
Max Kellermann 74a883dbf8 tag/MixRamp: add noexcept 2019-08-14 19:42:28 +02:00
Max Kellermann 5c550e8b33 lib/crypto/MD5: add option to use libavutil instead of libgcrypt 2019-08-14 18:56:10 +02:00
Max Kellermann 433e18b247 decoder/{opus,vorbis}: support embedded pictures (METADATA_BLOCK_PICTURE)
More for https://github.com/MusicPlayerDaemon/MPD/issues/42
2019-08-14 12:39:03 +02:00
Max Kellermann 2b837277c1 lib/crypto: add base64 wrapper using libavutil 2019-08-14 12:39:03 +02:00
Max Kellermann d515a8e99a lib/gcrypt/MD5: add wrapper in lib/crypto/
Prepare for using other crypto libraries, e.g. FFmpeg's libavutil.
2019-08-14 12:39:03 +02:00
Max Kellermann 2c2efaa91f lib/xiph/VorbisComments: pass struct vorbis_comment instead of char**
Use the "comments" attribute instead of relying on the nullptr
terminator.
2019-08-14 12:28:52 +02:00
Max Kellermann 9ae9b2c18f tag/VorbisComment: use struct StringView 2019-08-14 12:22:52 +02:00
Max Kellermann 8e0d810968 tag/MixRamp: use StringView in ParseMixRampTagTemplate() 2019-08-14 12:18:49 +02:00
Max Kellermann 0f1e13d9ff util/StringView: add StartsWithIgnoreCase(), EndsWithIgnoreCase() 2019-08-14 11:36:21 +02:00
Max Kellermann 21b81dfb1d lib/gcrypt/Hash: use the "algo" parameter instead of hard-coding MD5 2019-08-13 20:02:08 +02:00
Max Kellermann f3d16f6d1b output/Thread: fix typo in comment 2019-08-13 13:08:40 +02:00
Max Kellermann 6b51429203 decoder/opus: move comment size check to ScanOneOpusTag()
Prepare for parsing large binary comments (such as
METADATA_BLOCK_PICTURE).
2019-08-13 12:19:31 +02:00
Max Kellermann e2da13b0d3 command/file: add command "readpicture"
Closes https://github.com/MusicPlayerDaemon/MPD/issues/42
2019-08-13 11:55:51 +02:00
Max Kellermann 54daa85ac2 decoder/flac: support embedded pictures (FLAC__METADATA_TYPE_PICTURE) 2019-08-13 11:55:51 +02:00
Max Kellermann 575ba51931 tag/Id3Scan: support embedded pictures (the "APIC" tag) 2019-08-12 20:31:43 +02:00
Max Kellermann 96a1c69c29 tag/Handler: add virtual method OnPicture()
Preparing for https://github.com/MusicPlayerDaemon/MPD/issues/42
2019-08-12 20:31:43 +02:00
Max Kellermann 3895d35a52 command/file: move code to TagScanAny() 2019-08-12 20:31:43 +02:00
Max Kellermann b717ab0383 doc/protocol.rst: improve binary chunk description 2019-08-12 20:31:43 +02:00
Max Kellermann 4f61cd0b93 client/Response: add constant MAX_BINARY_SIZE
Use the same chunk size for all binary commands.
2019-08-12 20:23:46 +02:00
Max Kellermann 4464cdcc67 doc/protocol.rst: add missing newline to "albumart" example
This was missing in commit 0f488dcecf
2019-08-12 20:20:17 +02:00
Max Kellermann 989790e7f1 client/Response: add method WriteBinary()
Move code from read_stream_art().
2019-08-12 14:17:35 +02:00
Max Kellermann 831bc711ca decoder/mad: remove option "gapless", always do gapless
Why would anybody want to keep the silence inserted by the codec?
Other plugins/codecs (such as Vorbis) have this hard-coded as well.
2019-08-12 13:05:57 +02:00
Max Kellermann d640961420 doc/developer.rst: add chapter about git branches 2019-08-12 12:53:22 +02:00
Max Kellermann 828c614d57 decoder/sidplay: use StringFormat<>() 2019-08-10 12:31:31 +02:00
Max Kellermann 4964ad7800 decoder/sidplay: sidplay_load_songlength_db() throws on error 2019-08-10 12:28:53 +02:00
Max Kellermann a7976cd0f2 decoder/sidplay: automatic memory management inside struct SidplayGlobal 2019-08-10 12:26:10 +02:00
Max Kellermann bed8a0e040 decoder/sidplay: move global variables to struct SidplayGlobal 2019-08-10 12:16:09 +02:00
Max Kellermann b8a64771c0 decoder/sidplay: add noexcept 2019-08-10 12:12:52 +02:00
Max Kellermann f357f743a3 pcm/Volume: use transform_n() 2019-08-10 12:05:37 +02:00
Max Kellermann 91e565d92e pcm/PcmFormat: use transform_n() 2019-08-10 12:05:35 +02:00
Max Kellermann a189a9e478 util/TransformN: new library 2019-08-10 11:59:47 +02:00
Fredrik Noring 9654a33218 decoder/sidplay: Fix empty album names by using the SID name field
SID files are generally collections of tunes, so a SID name field makes
sense as an MPD album. The SID tune information list (STIL) has name
and title fields for individual tunes, when such are known, but MPD is
currently not using the STIL.
2019-08-10 11:01:15 +02:00