Commit Graph

18683 Commits

Author SHA1 Message Date
Max Kellermann c7b80b0828 io/FileDescriptor: add method WriteAt() 2024-08-30 12:29:32 +02:00
Max Kellermann 59199b5620 io/FileDescriptor: pass std::span to ReadAt() 2024-08-30 12:29:27 +02:00
Max Kellermann ebfc83dac5 io/FileDescriptor: add method SetPipeCapacity() 2024-08-30 12:28:51 +02:00
Max Kellermann f535ccf9bf net/UniqueSocketDescriptor: add UniqueFileDescriptor constructor 2024-08-30 12:28:19 +02:00
Max Kellermann 75eb2c257c net/SocketError: add IsSocketError() overload with socket_error_t 2024-08-30 12:27:19 +02:00
Max Kellermann 314667259e net/SocketDescriptor: add Duplicate() method
The the Duplicate() method we inherited from class FileDescriptor
returns a UniqueFileDescriptor, but we really want to return a
UniqueSocketDescriptor.
2024-08-30 12:27:13 +02:00
Max Kellermann dbb2b29271 net/IPv6Address: add method GetPortBE() 2024-08-30 12:24:12 +02:00
Max Kellermann 7f25ede888 net/AddressInfo: add method Cast() 2024-08-30 12:23:45 +02:00
Max Kellermann 4a2fff019a util/DisposablePointer: suppress -Wuninitialized
I pretend to know what I'm doing :-)
2024-08-30 12:23:45 +02:00
Max Kellermann fae5d16d43 subprojects: update curl to 8.9.1-1 2024-08-30 12:23:41 +02:00
Max Kellermann 7bc2259b35 subprojects: update sqlite3 to 3.46.1-1 2024-08-30 12:23:27 +02:00
Max Kellermann f66aed921c python/build/libs: update FFmpeg to 7.0.2 2024-08-30 12:22:37 +02:00
Max Kellermann 965c466e9b Merge branch 'mpg-duration-fix' of https://github.com/boedy/MPD 2024-08-10 16:54:48 +02:00
boedy 731f20111a Override the value for file size in bytes. Useful for getting sensible track length values in feed mode or for HTTP streams.
https://www.mpg123.de/api/group__mpg123__status.shtml#gad0301e80dbc3f48e47e27d39cd328755
2024-08-08 18:43:15 +02:00
Max Kellermann f7790430a0 lib/curl/Multi: add SetSocketFunction(), SetTimerFunction() 2024-07-31 10:06:29 +02:00
Max Kellermann 959826d1d1 input/ffmpeg: offload FFmpeg calls to thread
Prepare for interruptible I/O.
2024-07-30 12:43:05 +02:00
Max Kellermann ec30716e01 input/thread: implement size and seek 2024-07-30 12:33:44 +02:00
Max Kellermann dc51015c75 input/mms: move MMS_BUFFER_SIZE into the class 2024-07-30 12:33:30 +02:00
Max Kellermann 72b0eeb7b1 input/mms: invoke Start() in constructor 2024-07-30 12:31:58 +02:00
Max Kellermann b050e0132e input/{async,thread}: add an additional Cond field
This eliminates the ScopeExchangeInputStreamHandler kludge.
2024-07-29 23:17:33 +02:00
Max Kellermann cf962d94c7 input/thread: remove bogus `inline` 2024-07-29 23:14:16 +02:00
Max Kellermann c29d23b4c3 input/thread: use notify_one() instead of notify_all()
There's only ever one waiter, and notify_one() may be faster than
notify_all().
2024-07-29 23:09:07 +02:00
Max Kellermann 61e8df913d input/thread: check IsEOF() in IsAvailable() 2024-07-29 23:05:00 +02:00
Max Kellermann 4a55e3e8bd input/thread: check buffer.empty() in IsEOF() 2024-07-29 23:03:00 +02:00
Max Kellermann 2e78bd430c input/thread: use pass std::span<std::byte> to ThreadRead() 2024-07-29 22:32:52 +02:00
Max Kellermann dbaa72cb40 util/CircularBuffer: use std::span internally 2024-07-29 22:24:54 +02:00
Max Kellermann 596d2d93dd util/CircularBuffer: use `using` instead of `typedef` 2024-07-29 22:21:38 +02:00
Max Kellermann 10311b3a65 util/CircularBuffer: explicitly forbid the copy operator 2024-07-29 22:20:15 +02:00
Max Kellermann 332ba42073 util/HugeAllocator: add std::span cast operator 2024-07-29 22:20:12 +02:00
Max Kellermann 4262d29965 util/HugeAllocator: add `constexpr` 2024-07-29 22:19:28 +02:00
Max Kellermann 0899d80ae0 util/CircularBuffer: add `noexcept` and `constexpr` 2024-07-29 22:14:59 +02:00
Max Kellermann 9fe6493fc2 util/CircularBuffer: use inline initializer 2024-07-29 22:13:50 +02:00
Max Kellermann 902cb8efac input/thread: use std::byte instead of uint8_t 2024-07-29 22:13:50 +02:00
Max Kellermann f54210bf68 input/async: move enum definition down 2024-07-29 22:13:42 +02:00
Max Kellermann fb151c8662 lib/fmt/meson.build: suppress -Warray-bounds with GCC 13 2024-07-29 22:13:11 +02:00
Max Kellermann 323517753d lib/fmt/meson.build: remove obsolete clang 14 workaround
Android NDK r27 has clang 18 and I don't feel like supporting clang 14.
2024-07-29 22:11:20 +02:00
Max Kellermann 5726d9f06a mixer/Memento: include cleanup 2024-07-29 17:04:53 +02:00
Max Kellermann 0992fab1c8 filter/ReplayGain: include cleanup 2024-07-29 17:04:30 +02:00
Max Kellermann b546ddc54c client/Idle: include cleanup 2024-07-29 17:03:59 +02:00
Max Kellermann d45b7cc972 IdleFlags: move to procool/ 2024-07-29 17:02:33 +02:00
Max Kellermann 12eaaef210 output/Thread: allow Delay() to return duration::max()
Eliminate the periodic wakeups while paused in some output plugins.
2024-07-29 16:52:36 +02:00
Max Kellermann 5b8ef9a62b python/build/__init__.py: add missing file 2024-07-29 16:51:40 +02:00
Max Kellermann 196258ea13 .github/workflows/build_android.yml: update NDK to r27 2024-07-29 16:38:26 +02:00
Max Kellermann 0a035f3ce0 output/alsa: add option "close_on_pause"
This allows keeping the ALSA PCM open even if playback is paused.  As
a side effect, this allows using the "always_on" option with ALSA
outputs, because "always_on" pauses the output.

Closes https://github.com/MusicPlayerDaemon/MPD/issues/1623
2024-07-29 16:31:09 +02:00
Max Kellermann 7ab789fbaf doc/user.rst: add clarification to the "always_on" option 2024-07-29 16:30:15 +02:00
Max Kellermann 9c8f4aaf99 lib/alsa/meson.build: require libasound 1.2 or later
This allows us to drop the 1.1.4 snd_pcm_drain() bug workaround (added
by commit f85d4d28d1).
2024-07-29 15:42:46 +02:00
Max Kellermann 3bef4f839a output/alsa: fix coding style 2024-07-29 15:40:52 +02:00
Max Kellermann 1dfda3a5e1 output/alsa: reorder fields to improve packing 2024-07-29 15:38:02 +02:00
Max Kellermann 9d9c4045e2 output/alsa: move redundant code to UnregisterSockets() 2024-07-29 15:28:58 +02:00
Max Kellermann d466deedad output/alsa: fix lambda indent 2024-07-29 15:28:27 +02:00