Commit Graph

13161 Commits

Author SHA1 Message Date
Max Kellermann 0f79287b04 queue/Playlist: move code to MoveOrderToCurrent() 2017-10-18 09:05:24 +02:00
Max Kellermann f2fac77d8c queue/Queue: add methods MoveOrderBefore() and MoveOrderAfter() 2017-10-18 08:50:01 +02:00
Max Kellermann 81b7373637 queue/Queue: MoveOrder() returns to_order 2017-10-18 08:46:31 +02:00
Max Kellermann fa67c2548a decoder/Thread: clear the command after catching an exception
If an early exception gets caught (e.g. from
AllocatedPath::FromUTF8Throw()) before
DecoderControl::CommandFinishedLocked() is called, the decoder thread
would go in an endless loop, because DecoderCommand::START is still
set.

Closes #118
2017-09-27 17:08:16 +02:00
John Regan ea80587ddb GME Plugin: fix track numbering
GME starts all track indexes at zero, but subtune prefixes
start at one. This fixes an off-by-one error during track
enumeration.
2017-09-27 11:18:03 +02:00
John Regan bd50a0d2ef GME Plugin: fix track numbering
GME starts all track indexes at zero, but subtune prefixes
start at one. This fixes an off-by-one error during track
enumeration.
2017-09-26 08:42:53 -05:00
John Regan 9256e748c8 GME Plugin: only load m3u if it exists
If you load an NSFE file (which has embedded track titles),
then attempt to load an M3U file, it causes GME to lose all
information found in the NSFE file. This adds a check that
the M3U file exists before attempting to load.
2017-09-26 08:42:43 -05:00
Max Kellermann af033c0d1d NEWS: mention the GME decoder change 2017-09-22 20:00:12 +02:00
John Regan e96513c8db GME Plugin: try loading m3u sidecar files 2017-09-22 19:58:17 +02:00
Max Kellermann da9657aac4 playlist/SoundCloud: move enum key into struct, make strictly-typed 2017-09-21 23:10:11 +02:00
Max Kellermann 2886766fb5 playlist/SoundCloud: use strcmp() instead of memcmp() to avoid buffer overflow 2017-09-21 23:08:27 +02:00
Max Kellermann 6e7f866288 input/alsa: migrate from DeferredMonitor to DeferEvent 2017-09-21 22:58:00 +02:00
Max Kellermann 6fa403edd9 lib/upnp/Discovery: migrate from DeferredMonitor to DeferEvent 2017-09-21 22:53:57 +02:00
Max Kellermann 431eb7bc8c lib/curl/{Global,Request}: migrate from DeferredMonitor to DeferEvent 2017-09-21 22:53:17 +02:00
Max Kellermann 9df4853e23 event/DeferredCall: rename to DeferEvent 2017-09-21 22:40:25 +02:00
Max Kellermann 18c4ef09d5 input/thread: use class HugeArray instead of the low-level function HugeAllocate() 2017-09-21 21:56:24 +02:00
Max Kellermann bc93c7a1fc input/thread: un-inline the constructor 2017-09-21 21:55:24 +02:00
Max Kellermann c8a2a557db util/HugeAllocator: remove obsolete class HugeAllocation 2017-09-21 21:52:08 +02:00
Max Kellermann 9f827c99cb input/async: use class HugeArray instead of HugeAllocation 2017-09-21 21:50:45 +02:00
Max Kellermann 7b2b965415 util/SliceBuffer: use class HugeArray 2017-09-21 21:48:08 +02:00
Max Kellermann c3cfa18ebe util/HugeAllocator: add template class HugeArray 2017-09-21 21:47:52 +02:00
Max Kellermann b46835e15e util/HugeAllocator: HugeAllocator() returns WritableBuffer<void> 2017-09-21 21:47:49 +02:00
Max Kellermann 3e5ce3c92c util/{Const,Writable}Buffer: add static method FromVoidFloor() 2017-09-21 21:45:39 +02:00
Max Kellermann e5c9b4cd75 util/{Const,Writable}Buffer: add operator==(nullptr_t) 2017-09-21 20:34:36 +02:00
Max Kellermann 8753e558f2 util/HugeAllocator: move MADV_DONTFORK setting to HugeForkCow()
Enforcing MADV_DONTFORK is a surprising limitation for this library
which aims to be generic.
2017-09-21 19:36:33 +02:00
Max Kellermann f6691579de Merge branch 'v0.20.x' 2017-09-20 23:57:28 +02:00
Max Kellermann 828f5f8384 lib/icu/CaseFold: disable broken strxfrm() callback 2017-09-20 23:55:14 +02:00
Max Kellermann 1295a1272a lib/icu/Compare: add fallback using strcasecmp() and strcasestr()
Our IcuCaseFold() fallback using strxfrm() is not actually case
insensitive.  This commit fixes the problem by switching to
strcasecmp().  That function is not guaranteed to support UTF-8, but
it's the best we can do in this sparse situation.

Closes #111
2017-09-20 23:43:27 +02:00
Max Kellermann 66646d9276 SongFilter: use class IcuCompare 2017-09-20 23:43:26 +02:00
Max Kellermann d0497dba92 lib/icu/Compare: OO wrapper for IcuCaseFold() 2017-09-20 23:32:55 +02:00
Max Kellermann 42914e8227 lib/icu/CaseFold: add "noexcept" 2017-09-20 23:32:54 +02:00
Max Kellermann 59b49b7881 db/Selection: add missing config.h 2017-09-20 23:32:54 +02:00
Max Kellermann 5620f16330 lib/icu/Collate: move IcuCaseFold() to CaseFold.cxx 2017-09-20 23:11:58 +02:00
Max Kellermann be024d4ad7 lib/icu/Collate: remove unnecessary assert() 2017-09-20 23:05:31 +02:00
Max Kellermann cfc152d979 input/async: remove outdated API documentation 2017-09-19 19:56:37 +02:00
Max Kellermann 513212c5e8 input/async: use std::exchange() 2017-09-19 19:55:16 +02:00
Max Kellermann 99a447dff5 input/async: use C++11 initializers 2017-09-19 19:54:07 +02:00
Max Kellermann 56a9bf459d util/SliceBuffer: use C++11 initializers 2017-09-19 19:48:04 +02:00
Max Kellermann 11dbba3503 util/HugeAllocator: document std::bad_alloc 2017-09-19 19:45:52 +02:00
Max Kellermann 8662427d48 util/HugeAllocator: use std::exchange() 2017-09-19 19:42:21 +02:00
Max Kellermann 821480d329 util/HugeAllocator: make constructor explicit 2017-09-19 19:42:19 +02:00
Max Kellermann 5ce93d6fa8 output/sndio: refuse to build with libroarsndio
RoarAudio's sndio emulation has been a source for annoyances.  First,
their headers turned out to be broken with C++, due to their use of
the "new" keyword.  Then they used a preprocessor macro to rename
"sio_hdl" to something else, effectively disallowing the use of
forward declarations.  Enough is enough, and I'm removing support for
it.

RoarAudio users should better use the RoarAudio output plugin.
2017-09-19 19:38:43 +02:00
Max Kellermann 20a5ef2798 NEWS: mention the sndio mixer plugin 2017-09-19 19:38:43 +02:00
Max Kellermann 735eabb066 output/sndio: move #include below guard 2017-09-19 18:59:04 +02:00
Max Kellermann 412ff762bb output/sndio: use forward declarations 2017-09-19 18:58:13 +02:00
Max Kellermann 44bbf42a9f Merge branch 'v0.20.x' 2017-09-19 18:58:02 +02:00
Max Kellermann 75c740fe2b output/sndio: fix indent 2017-09-19 18:50:35 +02:00
Max Kellermann 6c8d86bb90 output/sndio: rename the "sio_hdl" variable to avoid clash with struct name 2017-09-19 18:49:33 +02:00
Charlie Waters b253a6b71e ffmpeg plugin: when decoded stream duration is unavailable, attempt fallback to container duration (fix MusicPlayerDaemon/MPD#110) 2017-09-18 10:39:27 +02:00
Christopher Zimmermann 030f87c90c Add sndio mixer plugin 2017-09-16 11:58:33 +02:00