Commit Graph

14871 Commits

Author SHA1 Message Date
Max Kellermann 1a08bdf16f time/ISO8601: ParseISO8601() returns precision 2019-08-19 22:41:49 +02:00
Max Kellermann 48b122f2ed time/ISO8601: implement with strptime(), without ParseTimePoint()
Prepare for adding more flexible parsing.
2019-08-19 22:26:43 +02:00
Max Kellermann 06dac4783f time/Convert: fallback TimeGm() implementation
Move code from Parser.cxx.
2019-08-19 22:22:07 +02:00
Max Kellermann fdaadc19cb time/Parser: use TimeGm() 2019-08-19 22:21:22 +02:00
Max Kellermann 2e53e9248a time/Parser: explicitly initialize struct tm before strptime()
This is recommended by the strptime() manpage, because strptime() does
not initialize/set attributes which were not specified in the format
string.
2019-08-19 22:09:38 +02:00
Max Kellermann b7abd5691c lib/curl/Global: use `auto` 2019-08-19 22:00:25 +02:00
Max Kellermann 7a0957d713 lib/curl/Global: document ToRequest() 2019-08-19 22:00:06 +02:00
Max Kellermann 2934fc2507 lib/curl/Global: remove CURL* parameter from Add() and Remove() 2019-08-19 21:53:19 +02:00
Max Kellermann 0c8ff56a15 lib/curl/Easy: add constructor with URL parameter 2019-08-19 21:48:07 +02:00
Max Kellermann 07be44a50a lib/curl/Easy: add getter functions 2019-08-19 21:47:11 +02:00
Max Kellermann 7a473729af lib/curl/Easy: add method Unpause() 2019-08-19 21:46:21 +02:00
Max Kellermann 402f429b17 lib/curl/Easy: add setter functions 2019-08-19 21:38:55 +02:00
Max Kellermann 4c46ca6b59 lib/curl/Global: make ReadInfo() private 2019-08-19 21:38:09 +02:00
Max Kellermann 76a0bf68c7 lib/curl/Global: remove redundant API docs 2019-08-19 21:38:03 +02:00
Max Kellermann 9f02beaba9 lib/curl: fix coding style 2019-08-19 21:37:47 +02:00
Max Kellermann a478af6759 util/PrintException, ...: update copyright 2019-08-19 19:11:59 +02:00
Max Kellermann 4c2434788f system/FileDescriptor: add method IsRegularFile() 2019-08-19 19:11:53 +02:00
Max Kellermann ca9daf5e19 playlist/flac: set song URI to an empty string
Simplify the plugin by using a trivial relative URI; later,
playlist_check_translate_song() will set the correct full URI.
2019-08-16 14:55:12 +02:00
Max Kellermann e98ce710b8 util/WStringAPI: add wcsncmp() wrapper 2019-08-16 14:48:54 +02:00
Max Kellermann 79d1004544 util/StringView: add method Compare() 2019-08-16 13:32:00 +02:00
Max Kellermann bb7f7bd3e5 util/StringAPI: add strncmp() wrapper 2019-08-16 13:31:58 +02:00
Max Kellermann ad2b858933 util/ForeignFifoBuffer: add friend function swap() 2019-08-16 13:27:22 +02:00
Max Kellermann d7aa4fa7d3 util/ForeignFifoBuffer: make Swap() lower case 2019-08-16 13:27:22 +02:00
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