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 |
|
Max Kellermann
|
21b81dfb1d
|
lib/gcrypt/Hash: use the "algo" parameter instead of hard-coding MD5
|
2019-08-13 20:02:08 +02:00 |
|