Max Kellermann
9396ffb509
db/plugins/upnp/ContentDirectoryService: add missing closing curly brace
2023-12-28 20:52:53 +01:00
Rosen Penev
e7e07c39c5
meson: fix flac_dep under Windows
...
declare_dependency's found() method evaluates to true always, resulting
in MPD trying to build flac when not found. Check for dependency()'s
find() first.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-27 12:43:08 -08:00
Rosen Penev
44080154b0
no setenv on Windows
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-27 10:50:00 -08:00
Rosen Penev
7c520f6475
fs: fix typo
...
Wrong macro used.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2023-12-26 10:57:44 -08:00
Max Kellermann
23b4688c44
util/ByteOrder: move Packed* classes to separate headers
2023-12-22 18:20:46 +01:00
Max Kellermann
a888b3a707
decoder/plugins/meson.build: add missing dependency to libid3tag
2023-12-22 18:03:47 +01:00
borine
b1f28d6003
output/alsa: Fix (theoretical error in) ALSA device recovery
...
It is not possible to prepare an ALSA device when it is is state
SND_PCM_STATE_OPEN; it is necessary to set the hardware parameters
first.
This pedantic commit corrects that error. Note that in practice
this code path cannot be encountered because MPD always sets the
hardware parameters before attempting to start playback.
2023-12-22 12:02:33 +00:00
borine
50e6950fa8
output/alsa: handle recoverable errors in DrainInternal()
...
It is possible that an underrun may occur in the ALSA output
device while MPD is draining its own internal buffer. If this
happens then MPD stops playback, reporting the error EPIPE.
This commit attempts to recover the ALSA device instead of
stopping playback, so that the drain can complete and the next
song in the play queue is played.
2023-12-22 11:53:20 +00:00
Max Kellermann
3c5b864396
tag/IcyMetadataParser: use std::span
2023-12-21 08:42:23 +01:00
Max Kellermann
58fc857a2d
tag/IcyMetadataParser: pass std::string_view to icy_parse_tag()
2023-12-20 20:18:39 +01:00
Max Kellermann
e443ee357a
tag/IcyMetadataParser: do not null-terminate strings in icy_parse_tag()
...
Just pass std::string_views into the unmodified buffer to
icy_parse_tag_item().
2023-12-20 19:58:35 +01:00
Max Kellermann
2618294eb7
tag/IcyMetadataParser: pass std::string_view to icy_parse_tag_item()
2023-12-20 19:51:22 +01:00
Max Kellermann
03352cb4ad
tag/IcyMetadataParser: use std::byte in ParseInPlace()
2023-12-20 19:49:08 +01:00
Max Kellermann
303d981099
subprojects: add lame
2023-12-20 16:50:13 +01:00
Max Kellermann
7727630f24
Merge branch 'alsa_input_exception' of https://github.com/borine/MPD
2023-12-20 13:21:37 +01:00
Colin Edwards
16c91a3f4b
android: Fix MPD shutdown from settings UI
2023-12-19 22:05:03 -06:00
Max Kellermann
dfef30a737
subprojects: add curl
2023-12-11 10:53:43 +01:00
Max Kellermann
642de1510b
lib/curl/Request: remove redundant CurlEasy wrapper methods
2023-12-09 20:54:21 +01:00
borine
f61eed1a82
input/plugins/Alsa: catch all exceptions
...
snd_pcm_poll_descriptors_revents() may return any error code; the
ALSA docs do not constrain the permitted values. A 'hw' device
will only ever return an error if the pfd array passed in is
invalid (-EINVAL), but other I/O plugins may return arbitary
errors. For example a network-based device may return -EPIPE etc.
The resulting exception thrown by
AlsaNonBlockPcm::DispatchSockets() must be caught to prevent the
mpd process from being aborted.
2023-11-26 15:36:42 +00:00
Max Kellermann
e9c40dead8
output/SharedPipeConsumer: add noexcept
2023-11-26 08:48:45 +01:00
Max Kellermann
31bf6d29b9
BulkEdit: forbid copying
2023-11-26 08:47:06 +01:00
Max Kellermann
571b6f0cdb
queue/IdTable: add constexpr (because we can)
2023-11-26 08:43:50 +01:00
Max Kellermann
e7b9e8de14
queue/IdTable: add API docs
2023-11-26 08:43:20 +01:00
Max Kellermann
321553d5f9
queue/IdTable: add explicit
2023-11-26 08:41:57 +01:00
Max Kellermann
4d23068c5c
queue/IdTable: use C++11 initializer
2023-11-26 08:41:19 +01:00
Max Kellermann
634b38169a
Merge branch 'alsa_input_buffer' of https://github.com/borine/MPD
2023-11-26 08:24:51 +01:00
Max Kellermann
fe4695f92a
Merge branch 'added_time_proxy_plugin' of https://github.com/jcorporation/MPD
2023-11-26 08:20:18 +01:00
Max Kellermann
3c7941b24b
Instance: work around -Wunused-parameter
2023-11-26 08:13:57 +01:00
Max Kellermann
a5d7f5e1fa
client/Client: add interface IClient
...
This allows detangling dependencies and fixes a linker problem in
test/test_translate_song.cxx.
2023-11-26 08:11:06 +01:00
Max Kellermann
0dfd7e3d8c
net/SocketDescriptor: SO_PROTOCOL is really Linux-specific
2023-11-25 23:03:30 +01:00
Max Kellermann
f757dfdc4f
SongLoader: add noexcept
2023-11-25 22:57:24 +01:00
Max Kellermann
eb675ad1b1
pcm/meson.build: add missing dependency on libconfig.a
2023-11-25 22:51:43 +01:00
Max Kellermann
08a5768764
fs/io/TextFile: split into class FileLineReader and AutoGunzipFileLineReader
...
Detangle dependencies.
2023-11-25 22:50:32 +01:00
Max Kellermann
d888bb1902
io/meson.build: move libfmt dependency to libio.a
2023-11-25 22:16:47 +01:00
Max Kellermann
6dc708f53f
net/SocketDescriptor: use method GetOption() internally
2023-11-25 21:58:17 +01:00
Max Kellermann
60033f3eb4
net/SocketDescriptor: add method GetProtocol()
2023-11-25 21:58:09 +01:00
Max Kellermann
1239e075b8
net/SocketDescriptor: add method GetIntOption()
2023-11-25 21:56:07 +01:00
Max Kellermann
d0eea87b1a
song/*SongFilter: use libfmt
2023-11-25 20:42:50 +01:00
Max Kellermann
273fc329e0
Merge branch 'added-since' of https://github.com/jcorporation/MPD
2023-11-25 20:36:38 +01:00
Max Kellermann
b9daeef524
event/FineTimerEvent: add SetDue(), ScheduleCurrent()
2023-11-21 20:47:29 +01:00
Max Kellermann
9383ceac30
event/{Coarse,Fine}TimerEvent: add API docs
2023-11-21 20:47:25 +01:00
Max Kellermann
ebf1fc7ca4
util/IntrusiveList: convert static_assert to concept check
2023-11-21 20:42:01 +01:00
Max Kellermann
73708e7be7
event/TimerEvent: remove transitional header
2023-11-21 20:41:55 +01:00
Max Kellermann
0c409aa290
input/LastInputStream: use CoarseTimerEvent
2023-11-21 20:41:47 +01:00
Max Kellermann
edfa329e64
util/DereferenceIterator: use *declval() to guess the default value type
...
This allows the iterator to point to another iterator.
2023-11-21 20:40:47 +01:00
Max Kellermann
5ab2c31500
Merge branch 'v0.23.x'
2023-11-21 20:37:46 +01:00
skidoo23
50c1e3738a
decoder/ffmpeg: Fix build error with ffmpeg 6.1
...
Closes https://github.com/MusicPlayerDaemon/MPD/issues/1898
2023-11-21 20:36:37 +01:00
jcorporation
1615fbc30e
Add "added-since" filter expression
2023-11-04 17:25:24 +01:00
jcorporation
45a4fcab1e
Add support for added attribute to proxy plugin
2023-11-02 21:22:48 +01:00
Max Kellermann
68b19ae087
util/SpanCast: add ReferenceAsWritableBytes()
2023-11-02 10:50:24 +01:00