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
21b81dfb1d
lib/gcrypt/Hash: use the "algo" parameter instead of hard-coding MD5
2019-08-13 20:02:08 +02:00
Max Kellermann
54daa85ac2
decoder/flac: support embedded pictures (FLAC__METADATA_TYPE_PICTURE)
2019-08-13 11:55:51 +02:00
Max Kellermann
40a2880857
util/UriUtil: split
2019-08-09 20:21:12 +02:00
Max Kellermann
192ad91010
release v0.21.13
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAl1JSe4QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEq5gEACNRnk8lADXzerHiuhyySJTpo1hweh+tRpx
fEahsC1SWa5677SsvHtk+Er8HTrpr0mSCefBbfqAKBSsJzdm1TUepCbEZrKM3jF5
0PaRiKlOQraqLnT95AOVbdzKK0N2aKvf3aJfDkquG93YfMyJJr0oTGFfQNTT4VFC
+HuvcqlMragXfLD2xp9WxhjYTajDmCobeBlHKND7FD67VyQqWIwWsRMKZKXXeplS
kQlFSNLfb4L6x7Qvnz57wMSYHQ1yzjZKoEczjR5WEJBz4GYsw+8BB6M5TR+cyo+y
LjiEMYMk1b+YiIneuloRaeCS/5PxMBeCSC+w6uqfnm9wGA5dv6zAWwHWJ6XqIYTv
ORAxoWJ1oN3HAv7ao57g2kGJ5WZwrfVyiS0hViPM0D181w6dMvPgmWdltPZphxtY
3uNurG45lecXoTtuv4EqWeeVOBzoJI1dUyQ7e73a9+Cpl9u7suAoe/nm3F/nh5ti
l+I5VeK82GVBePXn02ZRAhkZ+Ll3jvt5Bpz/wyNutP6pWtFjYS6p1W19Hi2UiNOv
56+ackJFr4oCqOoCKWHbwJbyrx44nhnBxiyEOhGdVA9xdB2EpYKOoZ29iGKEO2um
+QytEt8gf6YVe3C51OlmJfnZoJ4+pwIWpQFyjT40CMy6ZL0swdLlMgFv5+LSjzrC
eKJz2/h4dg==
=ICvW
-----END PGP SIGNATURE-----
Merge tag 'v0.21.13'
release v0.21.13
2019-08-06 11:39:25 +02:00
Max Kellermann
3ef043392c
input/cdio_paranoia: drop support for libcdio-paranoia older than 10.2+0.93+1
...
Version 10.2+0.93+1 was released five years ago in 2014 and is the
first version to feature cdio_cddap_free_messages(). There is no way
to check the libcdio-paranoia version at compile time, so let's just
remove support for older versions instead of attempting to fix the
cdio_cddap_free_messages() check at build time.
Closes https://github.com/MusicPlayerDaemon/MPD/issues/613
2019-08-06 11:09:36 +02:00
Max Kellermann
cde6c46d2f
util/Macros: replace with std::size() (C++17)
2019-08-03 13:10:49 +02:00
Max Kellermann
8f981845dc
switch to C++17
...
Time to move on, two years after 2017.
2019-08-03 12:57:56 +02:00
Max Kellermann
a90685d6cf
release v0.21.12
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAl1FZnQQHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEjrXD/0QChgJtx6sVPRpMK7KszwgpmxNkhDPA13l
puuYTg0eEZe9EJxNM82ouCNn2kOx9OjP5DKyeus0Dt4Pk5Cwj8HGeHqjTahtwHtD
jbVy5kiEZ57NjBoLFoQBI6vMuzcz/DKStq2HmPJ62NQCIqbiTQXPpWvDYAieTFV+
lbM7vc7VQ6A3bhms//vYMZYmQV7T4Eam3iEVxoQhX4Pd+wWXv+XcTfdI2UTUFWIY
mt7+AZlG2ynev+zszUtDLB4aFEbRcLUBlSKuPv3j5ox7BjleLJXltpVbisI+TDHL
nAyb2LtOTeVPpAaqiPeCju2ucWaUOsFkHmSCjPu8BHc8b4mLATiozv2BzY1qe5rX
G7DZxCLq3IBtY4u4FpR4kOuVcjTGFKCToHGl8N6GrPmfa3n+MqPLAqKx32tSq+r/
po2kbB9t0IXXT1njGWLb9W6y7z/7dsvy3YgjV6L7SfY/SA9MZELx+MBED2GSDYr9
eWLK7LDO5soBUZvnDVJZO/a1oP0n5WiSV9n2/YGgRJXcljW8tJ8C76yMNziPK7yn
Fjmc12o6kf5Afo3dNsLAdXH4p/8LeYK9IcJZmGfwBCccMHlnX+ySLfBOyuyUDD7g
nOV/o7av/HZzirQ9h2CGUZhBPbPARjvMI+mhDVGxUx3OYxW9UfokmMVEs4h21f0R
4XRbOUejVA==
=hzQJ
-----END PGP SIGNATURE-----
Merge tag 'v0.21.12'
release v0.21.12
2019-08-03 12:53:23 +02:00
Max Kellermann
6de088140b
lib/xiph/OggVisitor: invoke OnOggPacket() with the "E_O_S" packet
...
The "end of stream" packet is not special; it contains normal data,
and thus we should pass it to OnOggPacket().
This fixes one part of https://github.com/MusicPlayerDaemon/MPD/issues/601
2019-08-02 14:04:08 +02:00
Max Kellermann
86d0534638
lib/xiph/OggVisitor: more API documentation
2019-08-02 13:56:00 +02:00
Max Kellermann
d663f81420
include cleanups (powered by iwyu)
2019-07-05 09:59:58 +02:00
Max Kellermann
9cdebc90a0
lib/icu/Compare: use StringIsEqualIgnoreCase()
2019-07-05 09:59:58 +02:00
Max Kellermann
4650a903b4
decoder/Bridge: add noexcept
2019-07-05 08:57:51 +02:00
Max Kellermann
94c9fafe16
lib/chromaprint/DecoderClient: catch and postpone InputStream::LockRead() errors
2019-07-05 08:36:14 +02:00
Max Kellermann
d66ef7eac1
lib/alsa/HwSetup: don't reset dsd_mode
...
Fixes regression by commit 28e07e900f
Closes https://github.com/MusicPlayerDaemon/MPD/issues/596
2019-07-04 12:47:35 +02:00
Max Kellermann
5b01373356
output/alsa: more assertions in class PeriodBuffer
2019-06-28 09:31:51 +02:00
Max Kellermann
a92aa0bedc
output/alsa: use IsCleared() instead of IsDrained() in DrainInternal()
...
Really drain all data from the period_buffer in any case.
2019-06-28 09:30:33 +02:00
Max Kellermann
d66f5a8590
output/alsa: replace PeriodBuffer::IsEmpty() with IsCleared()
...
This assertion is not about whether all data has been consumed, but
about whether there has been any data at all.
2019-06-28 09:29:18 +02:00
Max Kellermann
f0ac63d5af
output/alsa: DrainInternal() ignores postponed partial frame
2019-06-27 21:23:28 +02:00
Max Kellermann
549faa8a9c
output/alsa: add full check before calling FillWithSilence()
2019-06-27 21:20:38 +02:00
Max Kellermann
8f6c750064
output/alsa: improve silence generator test in DrainInternal()
...
There cannot be partial frames in the buffer, so we don't need
GetPeriodPosition(); it's enough to check whether head has been moved
in this period.
2019-06-27 21:17:37 +02:00
Max Kellermann
e9190f4249
lib/alsa/PeriodBuffer: add missing include
2019-06-27 15:34:40 +02:00
Max Kellermann
127b464c59
lib/alsa/PeriodBuffer: add API documentation
2019-06-27 14:58:19 +02:00
Max Kellermann
28e07e900f
pcm/Export: convert the DSD bools to an enum
...
These options are exclusive.
2019-06-17 22:35:00 +02:00
Max Kellermann
e87f0ca771
pcm/Pcm*: drop more "Pcm" prefixes from source file names
2019-06-17 11:17:48 +02:00
Max Kellermann
a139279575
Copyright year 2019
2019-06-17 11:17:30 +02:00
Max Kellermann
fd5e74dbd0
pcm/Pcm{Dop,Export}: drop "Pcm" prefix
2019-06-16 12:11:44 +02:00
Yue Wang
a7b30fcb9e
add missing header.
...
bad_alloc depends on <new>
2019-06-07 21:59:31 -07:00
Max Kellermann
548aa00111
tag/Handler: pass StringView to OnTag() and OnPair()
...
Eliminates a number of allocations, because callers don't need to copy
the strings to a newly allocated buffer only to null-terminate them.
And most callers don't need to have a null-terminated string.
2019-06-06 13:00:53 +02:00
Max Kellermann
c1719a5200
lib/xiph/FlacStreamMetadata: add missing include
2019-06-06 12:54:42 +02:00
Max Kellermann
e0d5d88104
Log: make LogLevel the first parameter
...
Prepare for templated functions.
2019-05-23 12:17:59 +02:00
Max Kellermann
9095167039
thread/*Cond: add wait_for() overload with predicate
2019-05-07 19:54:54 +02:00
Max Kellermann
0a0cc66e8f
thread/Mutex: use using
instead of making it a derived class
...
Prepare the transition to std::mutex.
2019-05-07 19:23:01 +02:00
Max Kellermann
92022658f9
thread/Cond: add wait() overload which takes a unique_lock<>
...
Just like std::condition_variable, which however has no way to specify
the std::mutex directly.
2019-04-26 11:51:45 +02:00
Max Kellermann
b51bae5500
thread/*Cond: rename methods to match std::condition_variable
2019-04-25 19:46:43 +02:00
Max Kellermann
a6dc1ab0a9
lib/sqlite/Database: wrapper for sqlite3*
2019-04-25 12:10:12 +02:00
Max Kellermann
c88d5616f7
sticker/Database: move sticker_prepare() to lib/sqlite/Util.hxx
2019-04-25 11:57:29 +02:00
Max Kellermann
34d483a34a
lib/sqlite/Util: move into namespace
2019-04-25 11:56:52 +02:00
Max Kellermann
8e5e97bfed
command: add command "getfingerprint"
...
A first use case for our libchromaprint integration added by commit
30e22b753b
2019-04-05 14:23:35 +02:00
Max Kellermann
ab5eb4f9ce
tag/meson.build: move libchromaprint detection to lib/chromaprint/
2019-04-05 13:51:48 +02:00
Max Kellermann
a30af2ba42
lib/chromaprint/DecoderClient: replace method PrintResult()
2019-04-05 13:40:05 +02:00
Max Kellermann
8006911a1f
decoder/Client: add noexcept
2019-04-05 09:03:42 +02:00
Max Kellermann
e78d825059
pcm/PcmConvert: eliminate Open() and Close()
...
Let the constructor and destructor do this. This means that all users
have to be converted to allocate PcmConvert dynamically.
2019-04-04 21:01:08 +02:00
Max Kellermann
8a07724b23
test/RunChromaprint: move class ChromaprintDecoderClient to lib/chromaprint/
2019-04-04 20:29:27 +02:00
Max Kellermann
5256929b17
tag/Chromaprint: move to lib/chromaprint/Context.hxx
2019-04-04 20:21:10 +02:00
Max Kellermann
093bf5d859
event/*, ...: make GetEventLoop() const
2019-04-04 20:07:57 +02:00
Max Kellermann
4f6144dc71
lib/curl/Init: add const
overloads
2019-04-04 20:06:43 +02:00
Max Kellermann
2d1493ed7a
lib/curl/Init: add noexcept
2019-04-04 20:06:20 +02:00
Max Kellermann
054a7557fa
lib/ffmpeg/Frame: add av_frame_unref() wrapper
2019-03-24 22:21:35 +01:00
Max Kellermann
1d436b3c86
lib/ffmpeg/IOContext: keep using avio_read() with old libavformat versions
...
avio_read_partial() was added in libavformat 57.81.100, and we keep
compatibility with version 57.40 for now. Fixes regression from
commit bfb7b0117f
Closes https://github.com/MusicPlayerDaemon/MPD/issues/511
2019-03-20 13:15:05 +01:00
Max Kellermann
e88667e01c
lib/ffmpeg/Filter: add MakeAudioBuffer{Source,Sink}()
2019-03-18 11:05:13 +01:00
Max Kellermann
fb96907b52
lib/ffmpeg/Filter: add missing include
2019-03-18 11:05:13 +01:00
Max Kellermann
09ece26200
lib/ffmpeg/SampleFormat: add ToFfmpegSampleFormat()
2019-03-18 11:02:17 +01:00
Max Kellermann
0c6d22fe47
decoder/ffmpeg: move code to lib/ffmpeg/SampleFormat.hxx
2019-03-18 10:58:46 +01:00
Max Kellermann
c563eb81a3
lib/ffmpeg/Filter: C+++ wrapper for several libavfilter objects
2019-03-18 10:32:25 +01:00
Max Kellermann
e864a0dd05
lib/ffmpeg/meson.build: detect libavfilter
2019-03-18 10:30:02 +01:00
Max Kellermann
42a05bc904
lib/ffmpeg/Frame: add more wrapper methods
2019-03-18 10:29:26 +01:00
Max Kellermann
4722175049
Merge branch 'v0.21.x'
2019-03-18 10:01:00 +01:00
Jörg Krause
7f87de783f
src/lib/gcrypt/meson.build: use dependency() for quering linker flags
...
Since version 0.49.0 the Meson build system has native support for
finding and using the gcrypt library using the `dependency()` function.
`dependency()` has the advantage over `find_library()` as it queries the
required linker flags for proper linking with external libraries, e.g.
libgpg-error.
As the latest released version 1.8.4 of libgcrypt does not
provide a .pc file, using `libgcrypt-config` is the only way to query
the required linker flags.
Unfortunately, there is an issue when cross compiling mpd and the user does not
define `libgcrypt-config` in the cross file. If the user sets the qobuz feature
to `auto` and the target does not have libgcrypt installed, the Meson
build system will falsly assume libgcrypt is available for the target as
it uses the native `libgcrypt-config` on the host and pretend is has
found the library.
Therefore, we still rely on `find_library()` to workaround this buggy
behavior. This way, if qobuz feature detection is set to `auto`, the
feature is disabled in case there is no target libgcrypt available.
Fixes building mpd statically with the qobuz feature enabled. Otherwise
the build fails with undefined references because of the missing libgpg-error
dependency:
```
/sysroot/usr/lib/libgcrypt.a(libgcrypt_la-visibility.o): In function `gcry_strerror':
visibility.c:(.text+0x14): undefined reference to `gpg_strerror'
```
2019-03-18 09:12:19 +01:00
Max Kellermann
3a901098e9
release v0.21.6
...
-----BEGIN PGP SIGNATURE-----
iQJEBAABCgAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlyOz50QHG1heEBtdXNp
Y3BkLm9yZwAKCRAjbopYxttFEub0D/oDIXjCyFredPqElU6wgHKmJIWHXiPMIzY2
L5dK3ilGcON3ZDK4myoYvA5dkqat11u72x5TG3crcm8rITXuNJr93ONomZnfRvkq
NwG5JHcexJOOm/ppaE7xd0VmfifRlJWpm+nqgPrObvMz+dIWQIOojYOGLeLYxUvC
0i8mmfs6dIir+vpH13U9r3EPa78AZcuKttkZaK1ByaoK32RKAYPFIQvZgfWLI4Kj
RUOrH9piEOGVx+vKw54rj69S+a8Do0LtMhnzOWmfrG8XQzS4W6dsp6gunYsFA9gR
DZsERbu70JGJ8mrIKrrbXNT4/M06hTyAwob9PoRybi2aCP5BvfgBaM6qCeTNKKgQ
YNLXBZVMbF/hbkoPG+DiS9S5Meyp8T3GYjaT4Bi8GufJu7HGERPp721PPPJLeyBg
SpQo9SeS6xHA0bquQ1BJ3FV0JVn31w+taybMK+5eZqxS3xDjlVNorU2Dua2tkJKW
IoIdoTfsU498V3RgPYrefUt0jLKbfGHTiyL1vZ2inZyK0AswebKFYyIFZnHLXkO2
Pi2NOuE5RYmqRmB4TEwvLubP0nW5OI5lHCyvY/2GVjankPW5ufPtJMcpjs3hvx4Y
5ORmEJBx5d5Y2NG1rZdnWv+b4x02MA8eAD2L3pq7WJ148AkZD3ddBBm7MpIJuW/n
fFH7/jl30A==
=EnrO
-----END PGP SIGNATURE-----
Merge tag 'v0.21.6'
release v0.21.6
2019-03-17 23:58:54 +01:00
Max Kellermann
c18cd941aa
lib/xiph: disable Tremor detection if libvorbis was found
...
And disable libvorbis detection if Tremor was explicitly enabled.
This fixes a crash bug caused by libvorbis/Tremor ABI conflict caused
by commit 4f7d52dbf2
2019-03-17 23:36:52 +01:00
Max Kellermann
6d12c22653
decoder/ogg: ignore the BOS packet after seek to the beginning of song
...
Previously, MPD would skip the current song after attempting to seek
to its beginnig, because that was a seek to offset 0. At offset 0,
MPD will see the BOS packet again, which results in throwing
StopDecoder in MPDOpusDecoder::OnOggEnd().
Closes https://github.com/MusicPlayerDaemon/MPD/issues/470
2019-03-17 23:14:59 +01:00
Max Kellermann
cb100f2e5c
input/ffmpeg: use avio_feof(), eliminate eof
attribute
2019-03-13 10:41:12 +01:00
Max Kellermann
bfb7b0117f
lib/ffmpeg/IOContext: allow partial reads
2019-03-13 10:39:43 +01:00
Max Kellermann
f6a705c769
input/ffmpeg: add AVIOContext wrapper class
2019-03-13 10:01:17 +01:00
Max Kellermann
0009d53b3f
decoder/ffmpeg: add AVCodecContext wrapper class
2019-03-13 09:41:52 +01:00
Max Kellermann
05f7a6d1ff
decoder/ffmpeg: add AVFormatContext wrapper class
2019-03-13 00:27:21 +01:00
Max Kellermann
38a0844cdf
decoder/ffmpeg: add AVFrame wrapper class
2019-03-12 23:51:46 +01:00
Max Kellermann
732b2acf35
lib/upnp: remove redundant inline
keywords from constexpr
functions
2019-03-12 11:54:38 +01:00
Max Kellermann
96e70659f0
lib/xiph/FlacAudioFormat: remove redundant inline
keywords from constexpr
functions
2019-03-12 11:53:13 +01:00
Max Kellermann
24cde31328
lib/ffmpeg/Time: remove redundant inline
keywords from constexpr
functions
2019-03-08 10:28:02 +01:00
Max Kellermann
c176d94598
system/ByteOrder: move to util/
2019-03-08 10:21:10 +01:00
Thomas Zander
4c50a5e0b3
Ensure SEEK_SET is set on systems where stdio.h is not pulled in by accident.
2019-02-23 18:04:00 +01:00
Max Kellermann
41e0eb7378
lib/dbus/udisks2: parse the MountPoints property
2019-02-21 13:28:26 +01:00
Max Kellermann
6adf964c81
lib/dbus/ReadIter: add dbus_message_iter_get_fixed_array() wrapper
2019-02-21 12:56:05 +01:00
Max Kellermann
5c25499c5e
lib/cdio/Paranoia: add method GetDiscSectorRange()
2019-02-19 12:40:36 +01:00
Max Kellermann
281461f0f0
nfs: work around assertion failure on exception during program init
...
Closes #477
2019-02-15 18:33:58 +01:00
Max Kellermann
4ba9357a9c
input/CdioParanoia: C++ wrappers for libcdio types
2019-01-21 20:20:20 +01:00
Max Kellermann
008383f24a
python/build/libs.py: upgrade CURL to 7.63.0
2019-01-21 10:11:50 +01:00
Jörg Krause
4f7d52dbf2
meson: add fixed-point Vorbis (Tremor) decoder support
...
Re-add build support for the fixed-point Vorbis (Tremor) decoder, which
was dropped when switching from Autotools to Meson.
Note, that it is not possible to build both, the Vorbis and the Tremor
decoder.
Closes : #405
2019-01-21 08:35:17 +01:00
Max Kellermann
22e6d95c4b
remove libwrap support
...
libwrap is an obscure artefact from a past long ago, when source IP
address meant something.
And its API is "interesting"; it requires the application to expose
two global variables `allow_severity` and `deny_severity`. This led
to bug #437 . I don't want to declare those variables; instead, I'd
like to remove libwrap support.
Closes #437
2018-12-28 14:16:02 +01:00
Max Kellermann
5cb603983e
alsa/NonBlock: throw on snd_pcm_poll_descriptors_revents() error
...
This function is sparsely documented and a look at the bluez-alsa
source code shows that implementations make undocumented assumptions
on the `struct pollfd` array parameter which can lead to strange
effects.
2018-12-04 18:00:52 +01:00
Max Kellermann
ce49d99c2f
check.h: remove obsolete header
...
Since we switched from autotools to Meson in commit
94592c1406
, we don't need to include
`config.h` early to properly enable large file support. Meson passes
the required macros on the compiler command line instead of defining
them in `config.h`.
This means we can include `config.h` at any time, whenever we want to
check its macros, and there are no ordering constraints.
2018-11-19 16:33:49 +01:00
Max Kellermann
72184dccfc
song/StringFilter: support regular expressions with "=~" and "!~"
...
This feature requires `libpcre`.
2018-11-11 12:55:35 +01:00
Max Kellermann
fee75dc766
{output,mixer}/alsa: use snd_pcm_poll_descriptors_revents()
...
This call was missing, causing very high CPU usage when the ALSA
output plugin was used with dmix.
Closes #391
2018-11-11 12:37:29 +01:00
Max Kellermann
12308a0f55
lib/alsa/NonBlock: move the functions into a class managing the state
2018-11-11 12:37:25 +01:00
Max Kellermann
db51cc4e02
lib/zlib/meson.build: add zlib_dep to declare_dependency
...
Fixes potential compiler error when zlib is installed in a
non-standard directory.
2018-11-07 23:32:23 +01:00
Max Kellermann
ad597a8ff0
lib/zlib/meson.build: define ENABLE_ZLIB
...
Fixes #414
2018-11-07 23:24:58 +01:00
Max Kellermann
08272cdee2
decoder/ffmpeg: require FFmpeg 3.1 or later
...
Drop some compatibility code.
2018-11-04 21:55:06 +01:00
Max Kellermann
86f1074905
lib/xiph/meson.build: the Vorbis encoder requires the Vorbis decoder
...
Without the Vorbis decoder, `libvorbis` is never detected, leading to
linker failures when attempting to build the Vorbis encoder.
2018-11-04 12:21:23 +01:00
Max Kellermann
6f242836e6
lib/xiph/meson.build: fix typo, replace and
with or
...
Fixes linker failure when building without FLAC support.
Closes #400
2018-11-04 11:36:28 +01:00
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