Commit Graph

14258 Commits

Author SHA1 Message Date
Max Kellermann 4b16a8bf84 lib/icu: require at least version 50 2018-08-02 21:01:39 +02:00
Max Kellermann ca4c81dd84 decoder/mikmod: require at least version 3.2 2018-08-02 20:45:14 +02:00
Max Kellermann e9881bbfc8 configure.ac: detect libmikmod with pkg-config 2018-08-02 20:42:25 +02:00
Max Kellermann 69f4178bff decoder/ffmpeg: require at least version 11.12
This is the version in Debian Jessie (oldstable).
2018-08-02 20:18:19 +02:00
Max Kellermann 027e562f65 song/OptimizeFilter: optimization stage for filters 2018-08-02 19:42:53 +02:00
Max Kellermann e5e623ffaa SongFilter: add class NotSongFilter 2018-08-02 19:22:55 +02:00
Max Kellermann 592d2ebd26 song/AudioFormatSongFilter: new filter type 2018-08-02 17:28:17 +02:00
Max Kellermann 299c809272 song/Filter: convert LOCATE_TAG_* macros to enum 2018-08-02 17:23:25 +02:00
Max Kellermann d929d0c26f song/Filter: move each class into a separate source 2018-08-02 13:54:36 +02:00
Max Kellermann 90201e9970 DetachedSong, db/LightSong, SongFilter: move to src/song/ 2018-08-02 13:51:18 +02:00
Max Kellermann a31da51fd9 lib/systemd/Watchdog: implement the systemd watchdog protocol 2018-08-02 11:15:35 +02:00
Max Kellermann cf471e830f Merge branch 'v0.20.x' 2018-08-02 11:07:40 +02:00
Max Kellermann 906972973e case-insensitive URI scheme comparison
Required according to RFC 3986:

> An implementation should accept uppercase letters as equivalent to
> lowercase in scheme names

Closes #330
2018-08-02 11:01:45 +02:00
Max Kellermann 116edf5fce util/ASCII: add StringStartsWithCaseASCII() 2018-08-02 10:42:28 +02:00
Max Kellermann 22192adbc8 lib/icu/Init: add class ScopeIcuInit 2018-08-02 10:17:31 +02:00
Max Kellermann b8f3de693f lib/icu/Init: add "noexcept" 2018-08-02 10:17:04 +02:00
Max Kellermann 68c023cdd8 config/Path: simplify expression 2018-08-02 09:43:48 +02:00
Max Kellermann b18b0bf328 config/Path: remove unnecessary IsNull() check
`AllocatedPath::FromUTF8Throw()` will never return a nulled instance.
2018-08-02 09:43:17 +02:00
Max Kellermann 2a2c5d50ff unix/PidFile: add "noexcept" 2018-08-01 20:27:56 +02:00
Max Kellermann dfda0faac7 unix/{Daemon,PidFile}: throw exception on error
Don't use the bad `FatalError` library.
2018-08-01 20:20:29 +02:00
Max Kellermann 95acc4be07 Main: add "noexcept" 2018-08-01 20:16:40 +02:00
Max Kellermann 330a4cf573 Main: remove exception handler from mpd_main_after_fork()
Let MainOrThrow() forward it to mpd_main().
2018-08-01 20:15:54 +02:00
Max Kellermann 6ffbb151a0 Main: move log_deinit() call to mpd_main()
Deinitialize the logging library after the last exception handler,
because that one could still need it.

Use `AtScopeExit()` to ensure it's always called, even if an exception
was thrown.
2018-08-01 20:14:31 +02:00
Max Kellermann 271e49db5d Main: move code to MainOrThrow(), leaving exception handler in mpd_main() 2018-08-01 20:13:27 +02:00
Max Kellermann 8d2101ccb4 Main: move libdbus cleanup to class ODBus::ScopeInit 2018-08-01 19:24:50 +02:00
Max Kellermann 7aa8497546 SongFilter: implement the AND operator 2018-07-30 10:19:31 +02:00
Max Kellermann 7a8d5070f5 Songfilter: move code to ExpectWord() 2018-07-30 10:18:42 +02:00
Max Kellermann 8707ae6fd4 Songfilter: allow redundant parantheses 2018-07-30 10:00:44 +02:00
Max Kellermann 8786b61636 SongFilter: make ParseExpression() static 2018-07-30 09:57:04 +02:00
Max Kellermann 1b5faf5cbf SongFilter: move code from SongFilter to AndSongFilter 2018-07-29 18:39:47 +02:00
Yue Wang 1e88e71b9a [OSXOutputPlugin] Fix a bug that the stream sample rate is missing
the code here tried to guard DSD features behind ENABLE_DSD. However, the sample rate setting should be shared between two scenarios. 

https://github.com/MusicPlayerDaemon/MPD/commit/40a1ebee295c569521ea17ffdedc641d1aedd9cb#diff-ce7ecec9ea9ca3df90d9c290cb3ef9d4R795


The code runs fine if the dac supports the sample rate, as Mac OS  will use the device rate if stream rate is 0. 
However, when DAC is uncapable of processing the sample rate, a wrong rate (device rate) will be used for the stream rate.
2018-07-28 00:06:56 -07:00
Max Kellermann e16fd4a09b input/qobuz: initialize the libgcrypt library 2018-07-26 18:26:46 +02:00
Max Kellermann 7db7568dcf lib/gcrypt/MD5: move code to util/HexFormat.cxx 2018-07-26 17:46:56 +02:00
Max Kellermann 409d3c7136 lib/gcrypt/MD5: return a StringBuffer 2018-07-26 17:45:45 +02:00
Max Kellermann 7f81375861 lib/gcrypt/MD5: move code to Hash.hxx 2018-07-26 12:14:31 +02:00
Max Kellermann 0de39a431b lib/gcrypt/MD5: relicense to BSD-2 2018-07-26 12:14:00 +02:00
Max Kellermann 1726278ccc SongFilter: make several macros internal 2018-07-25 11:32:41 +02:00
Max Kellermann 8661a51aba SongFilter: make locate_parse_type() static 2018-07-25 11:30:56 +02:00
Max Kellermann 42ec67168a command/Database: don't use locate_parse_type() 2018-07-25 11:29:14 +02:00
Max Kellermann 91af2ebc2a command/Database: move code to handle_list_file() 2018-07-25 11:27:12 +02:00
Max Kellermann f7fb8a33d7 db/Print: pass TagType to PrintUniqueTags() 2018-07-25 11:21:47 +02:00
Max Kellermann 0505cb8f7e db/Print: move code to PrintSongUris() 2018-07-25 11:18:45 +02:00
Max Kellermann 2cfccc1c34 SongFilter: make Item an interface
Prepare to allow more complex expressions.
2018-07-25 11:04:41 +02:00
Max Kellermann 438366effc SongFilter: move code to class StringFilter 2018-07-25 11:04:41 +02:00
Max Kellermann 29d5ad667c SongFilter: allow dash in tag name
Required for "modified-since".
2018-07-25 11:04:41 +02:00
Max Kellermann 235ddc0990 util/TimeISO8601: new utility library 2018-07-25 08:43:06 +02:00
Max Kellermann 517f5b1999 util/TimeConvert: new utility library 2018-07-25 08:34:52 +02:00
Max Kellermann a8ac8b2563 TimePrint: remove unused time_t overload 2018-07-25 08:33:59 +02:00
Max Kellermann 78a65cf281 SongFilter: remove DetachedSong overloads
All DetachedSong instances should be converted to LightSong first,
which is a very cheap operation.
2018-07-25 07:43:05 +02:00
Max Kellermann 96017f58a5 decoder/ffmpeg: skip the av_probe_input_format() call
This is kind of a revert of commit
b2e3c0757b, which is not any longer
necessary since commit 0dd4b52b63
removed the last call to `av_open_input_stream()`.
2018-07-25 00:07:16 +02:00