Commit Graph

409 Commits

Author SHA1 Message Date
Max Kellermann
2a926063b2 src/lib/ffmpeg/meson.build: copy dependencies into ffmpeg_dep
Apparently, Meson propagates the linker flags but not the compiler
flags from a `static_library`'s dependencies list.

Closes #392
2018-11-01 19:14:00 +01:00
Max Kellermann
f5c9071494 *: copyright year 2018 2018-10-31 17:54:59 +01:00
Max Kellermann
06ca08ce55 output/roar: remove
Bugs in libroar which broke the MPD build have been annoying me for
quite some time, and the newest bug has now hit my main build machine:

 https://github.com/MusicPlayerDaemon/MPD/issues/377

Problem is the usage of the typedef `_IO_off64_t` in libroar's
`vio_stdio.h`:

 int roar_vio_to_stdio_lseek (void *__cookie, _IO_off64_t *__pos, int __w);

This `_IO_off64_t` is an internal implementation detail of glibc and
was removed in version 2.28.  Nobody must ever use it.  Why the ****
did the RoarAudio developers use it?  Not using internal typedefs
isn't exactly rocket science.

This annoys me enough to finally remove the plugin.  Anyway, I've
never heard of anybody using RoarAudio, so my best guess is that
nobody will notice.
2018-10-31 15:03:28 +01:00
Max Kellermann
94592c1406 build with Meson instead of autotools
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-14 23:41:38 +02:00
Max Kellermann
90f4e97751 decoder/Client: use std::chrono::duration<double> instead of raw double 2018-09-21 20:42:34 +02:00
Max Kellermann
b9cca49e14 lib/dbus/ReadIter: switch off -Wshadow on GCC<8
GCC 6.3.0 emits bogus warnings like this:

 In file included from src/lib/dbus/UDisks2.cxx:22:0:
 src/lib/dbus/ReadIter.hxx: In instantiation of 'ODBus::ReadMessageIter::ForEachProperty(F&&)::<lambda(auto:2&&)> [with auto:2 = ODBus::ReadMessageIter; F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]':
 src/lib/dbus/ReadIter.hxx:102:6:   required from 'ODBus::ReadMessageIter::ForEachRecurse(int, F&&)::<lambda(auto:1&&)> [with auto:1 = ODBus::ReadMessageIter&; F = ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]::<lambda(auto:2&&)>]'
 src/lib/dbus/ReadIter.hxx:92:5:   required from 'void ODBus::ReadMessageIter::ForEach(int, F&&) [with F = ODBus::ReadMessageIter::ForEachRecurse(int, F&&) [with F = ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]::<lambda(auto:2&&)>]::<lambda(auto:1&&)>]'
 src/lib/dbus/ReadIter.hxx:101:3:   required from 'void ODBus::ReadMessageIter::ForEachRecurse(int, F&&) [with F = ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]::<lambda(auto:2&&)>]'
 src/lib/dbus/ReadIter.hxx:114:3:   required from 'void ODBus::ReadMessageIter::ForEachProperty(F&&) [with F = std::_Bind<void (*(std::reference_wrapper<UDisks2::Object>, std::_Placeholder<1>, std::_Placeholder<2>))(UDisks2::Object&, const char*, ODBus::ReadMessageIter&&) noexcept>]'
 src/lib/dbus/UDisks2.cxx:71:30:   required from here
 src/lib/dbus/ReadIter.hxx:114:53: error: declaration of 'ODBus::ReadMessageIter&& i' shadows a parameter [-Werror=shadow]
    ForEachRecurse(DBUS_TYPE_DICT_ENTRY, [&f](auto &&i){
                                                      ^
 src/lib/dbus/ReadIter.hxx:101:33: note: shadowed declaration is here
    ForEach(arg_type, [&f](auto &&i){
                                  ^
2018-09-02 08:17:21 +02:00
Max Kellermann
ec54754e22 Compiler.h: move to util/ 2018-08-20 16:19:17 +02:00
Thomas Guillem
a04e01d5f5 lib/nfs/Connection: add Lstat 2018-08-20 11:29:11 +02:00
Max Kellermann
0b7d7fe069 Merge branch 'v0.20.x' 2018-08-20 11:27:56 +02:00
Thomas Guillem
9127afbf3f lib/nfs/Connection: use nfs_stat64_async
Since nfs_stat_async is deprecated.
2018-08-20 10:51:24 +02:00
Max Kellermann
147872fe97 lib/curl/Easy: add curl_easy_escape() wrapper 2018-08-17 23:02:49 +02:00
Max Kellermann
01d3777574 decoder/Thread, ...: log all exceptions 2018-08-09 11:14:40 +02:00
Max Kellermann
4b16a8bf84 lib/icu: require at least version 50 2018-08-02 21:01:39 +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
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
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
8d2101ccb4 Main: move libdbus cleanup to class ODBus::ScopeInit 2018-08-01 19:24:50 +02: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
b98263e86f fs/io/OutputStream: relicense under BSD-2 2018-07-19 14:02:37 +02:00
Max Kellermann
727078f65d decoder/flac: call TagHandler::OnAudioFormat() 2018-07-07 14:43:21 +02:00
Max Kellermann
d7f770ce73 decoder/flac: move flac_sample_format() to FlacAudioFormat.hxx 2018-07-07 14:40:02 +02:00
Max Kellermann
e1ddb63054 lib/xiph/FlacStreamMetadata: move code to Scan(FLAC__StreamMetadata_StreamInfo) 2018-07-07 14:33:53 +02:00
Max Kellermann
24b14c5aa5 decoder/flac: rename FlacMetadata.cxx to FlacStreamMetadata.cxx 2018-07-07 14:29:49 +02:00
Max Kellermann
2e116c9e28 lib/xiph/FlacMetadataChain: un-inline Read(InputStream) 2018-07-07 14:22:22 +02:00
Max Kellermann
37897d1550 decoder/flac: move class FlacMetadataChain to separate source 2018-07-07 14:18:00 +02:00
Max Kellermann
b153591790 decoder/flac: move FlacIOHandle.?xx to lib/xiph/ 2018-07-07 14:17:03 +02:00
Max Kellermann
032f47c0b0 lib/xiph/FlacMetadataIterator: disallow copying 2018-07-07 14:08:41 +02:00
Max Kellermann
1f4e4dd9b3 lib/xiph/FlacMetadataIterator: reuse default constructor 2018-07-07 14:08:18 +02:00
Max Kellermann
d43218ed16 lib/xiph/FlacMetadataIterator: proper CamelCase 2018-07-07 14:07:48 +02:00
Max Kellermann
3d43e4e954 decoder/flac: move class FLACMetadataIterator to separate source 2018-07-07 14:04:37 +02:00
Max Kellermann
9a29d02e7e Merge branch 'v0.20.x' 2018-07-06 19:43:01 +02:00
Max Kellermann
466625f7ad input/curl: use new class HttpStatusError
This way, IsFileNotFound() can detect status 404.
2018-07-06 19:26:11 +02:00
Max Kellermann
86e2075c63 lib/nfs/Connection: use new class NfsClientError
Allows callers to extract the NFS error code.
2018-07-06 19:17:34 +02:00
Max Kellermann
60d5bf0240 util/StringFormat: new utility library 2018-07-06 19:07:02 +02:00
Max Kellermann
3d3a1232b1 tag/Handler: convert to class with virtual methods 2018-07-05 19:07:05 +02:00
Max Kellermann
ba8040d068 storage/udisks: new plugin
Documentation will follow soon.
2018-06-04 22:00:52 +02:00
Max Kellermann
5fa94d2a85 lib/dbus/AsyncRequest: add missing include 2018-06-04 22:00:52 +02:00
Max Kellermann
7eee79c145 neighbor/udisks: move code to class UDisks2::ParseObjects(ODBus::Message) 2018-06-04 21:50:34 +02:00
Max Kellermann
9626523420 neighbor/udisks: move code to class UDisks2::ParseObjects(ReadMessageIter) 2018-06-04 21:41:51 +02:00
Max Kellermann
03c89c9cec neighbor/udisks: move ParseObject() to UDisks2.cxx 2018-06-04 17:23:55 +02:00
Max Kellermann
640de5518b neighbor/udisks: move struct UdisksObject to UDisks2.hxx 2018-06-04 17:23:55 +02:00
Max Kellermann
a92c694f1b neighbor/Iter: add missing include 2018-06-04 17:23:55 +02:00
Max Kellermann
a159299a4b lib/dbus/AsyncRequest: new helper class 2018-06-04 12:21:17 +02:00