Commit Graph

12378 Commits

Author SHA1 Message Date
Max Kellermann d293aaf945 test/test_icy_parser: use AtScopeExit() 2017-12-20 14:54:56 +01:00
Max Kellermann 1d559bf00c util/SliceBuffer: add "noexcept" 2017-12-20 14:41:03 +01:00
Max Kellermann 4286f55c52 player/Thread: use C++11 initializers 2017-12-20 13:35:07 +01:00
Max Kellermann 0a7cad9074 player/Thread: add "noexcept" 2017-12-20 13:32:38 +01:00
Max Kellermann 069a7fe71e player/Thread: more API documentation 2017-12-20 13:27:13 +01:00
Max Kellermann 9c8a45854a player/Control: add SEEK documentation 2017-12-20 12:20:11 +01:00
Max Kellermann 7d035edf9d player/Control, ...: remove API documentation references to the obsolete Error class 2017-12-20 12:20:09 +01:00
Max Kellermann 36899dba0b event/Call: document exceptions 2017-12-20 10:50:36 +01:00
Max Kellermann 6a31446671 event/TimerEvent: add "noexcept" 2017-12-20 10:45:30 +01:00
Max Kellermann 451fbbcea1 event/FullyBufferedSocket: add "noexcept" 2017-12-20 10:44:47 +01:00
Max Kellermann a17a481e30 event/BufferedSocket: add "noexcept" 2017-12-20 10:42:17 +01:00
Max Kellermann 5f9d4a02a5 client/*: add "noexcept" 2017-12-20 10:38:29 +01:00
Max Kellermann 7094d88958 client/Message: make valid_channel_char() constexpr 2017-12-20 10:27:43 +01:00
Max Kellermann 8ac73a9eba output/alsa: add attributes "dop" and "allowed_formats" 2017-12-19 11:57:52 +01:00
Max Kellermann 86a06a7acc output/Interface: add "attributes" map
These attributes are printed in the "outputs" response, and the new
command "outputset" allows setting new values.

No attributes are currently implemented.
2017-12-19 11:57:52 +01:00
Max Kellermann d05c3f4e4d lib/alsa/AllowedFormat: throw std::invalid_argument on error 2017-12-19 11:57:52 +01:00
Max Kellermann de178e90f4 AudioParser: throw std::invalid_argument on error 2017-12-19 11:57:47 +01:00
Max Kellermann 3d960b5e55 util/RuntimeError: add FormatInvalidArgument() 2017-12-19 11:56:29 +01:00
Max Kellermann 39dc83bd82 output/Print: print the plugin name 2017-12-19 11:52:10 +01:00
Max Kellermann 503063cddc output/Print: use %u for the index 2017-12-19 11:52:09 +01:00
Max Kellermann 914df18bf9 Main, ...: catch any exception, not just std::runtime_error 2017-12-19 10:56:23 +01:00
Max Kellermann a539094c06 command/Error: translate std::{length_error,out_of_range} to ACK_ERROR_ARG 2017-12-19 10:54:49 +01:00
Max Kellermann cd3ed720e0 lib/alsa/AllowedFormat: add API documentation 2017-12-19 08:41:53 +01:00
Max Kellermann 37c27fa606 output/Interface: convert need_fully_defined_audio_format to flag 2017-12-19 08:41:34 +01:00
Max Kellermann 093ca5d492 storage/Interface: add "noexcept" 2017-12-18 23:54:21 +01:00
Max Kellermann 1d24dd3067 storage/State: use std::set instead of sorting a std::list 2017-12-18 23:50:31 +01:00
Max Kellermann b9659ba0c0 release v0.20.13
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEA5IzWngIOJSkMBxDI26KWMbbRRIFAlo4RDQQHG1heEBtdXNp
 Y3BkLm9yZwAKCRAjbopYxttFEpm6EACTPaPwGbxS770jJ74vLGSltnZTohaKbRvp
 rIaJGkHTTzPlvw8dpLHmave9fL5ODSchTBmIHqb0loM9011oJgvXUKq3fqEQJUUW
 eFZ54emSDXOjholsd8ykJgrPjMBO2UNEk5T/r6bZdNZlLAN7yNOXkJHezPY8qyzA
 s07o9jmFEKjyLOsMlmEaV2uiCZ9UhPUSUI+vy+Q7qwwil24AfOzXc4+gAB3bV87E
 FFWWP8KO83X2ZrhPZdSeILFcI0i93X/l0rskvf4bgHtoegaYPWk/KnhPnmJ2DC48
 GFzigB5ZbU+OGXz1We7O6DZg6KOB4Y6dDPThtxS0rBTZWCPM6biDVsDFexqACf8u
 sCYTzaTlvAV2gHVGp3csVwXS9gqxYOZbiyMgyMOVKygrvuhgrnQydZQW8yweoscP
 tRxVcKfHclbdsEJHboT1Tp4ibh4+iIT48muMpLDlX6h0KC4OOTSg8m3UGV6V4UAA
 bkDVueFYQcr1tyENJbFGRt6gCENY7rdJMX30TvC0DhDtHXUwY6O5G//w5iqpeztv
 svcOuQQURxmPcFuvIqpTpcX0bSEuYkCt9JF31xzFbvmUhB1bb4sZ+IMvBqS9fnUH
 HJmDLLl7mppX3hlPDc9wLc3Dmpfr5Cd1GLO0CkWhnE8KBONV1auYXh8Gtwdsa/Rv
 idA/53WlvQ==
 =+PRl
 -----END PGP SIGNATURE-----

Merge tag 'v0.20.13'

release v0.20.13
2017-12-18 23:48:14 +01:00
Max Kellermann 49b9a90c3f release v0.20.13 2017-12-18 23:41:56 +01:00
FlashSystems 64d141f71e Save and restore mountpoints within the state file.
Signed-off-by: FlashSystems <developer@flashsystems.de>
2017-12-18 23:39:01 +01:00
FlashSystems c488d3123f Fix `lsinfo` and `add` for mounted databases.
If `SimpleDatabase::Visit` is called on a database that contains a mounted directry the URIs of the elements passed to the callbacks are not prefixed by the mountpoint path. This leads to lsinfo and add not working because they use the wrong URI. This pull request is using the `WalkMount` helper function to create prefixed versions of `VisitDirectory`, `VisitSong` and `VisitPlaylist` to add the correct prefix to the parameters of the callback functions.
2017-12-18 23:33:08 +01:00
Max Kellermann b6af7abb1a thread/PosixMutex: add "noexcept" 2017-12-18 23:29:08 +01:00
Max Kellermann edee8a3446 Compiler.h: add gcc_returns_nonnull, gcc_returns_twice 2017-12-18 23:00:13 +01:00
Max Kellermann 5582367d68 db/DatabasePrint: support sorting by "modified-since"
Closes #172
2017-12-18 21:52:36 +01:00
Max Kellermann 7a55ab6acc db/DatabasePrint: support descending sort 2017-12-18 21:50:14 +01:00
Stefano Miccoli 967af60327 rounds alsa HW mixer volume towards ±∞ depending on sgn(∆ vol)
This alleviates a problem in which 'volume +1' cannot be undo by
'volume -1' when using alsa hw mixer.

Closes #104
2017-12-18 21:29:03 +01:00
Max Kellermann 6246d36fe6 Merge branch 'v0.20.x' 2017-12-16 20:56:06 +01:00
Yue Wang f1ef9f9d31 OSXOutputPlugin: set the buffer time to be 100ms
[mk: the following text was copied from
https://github.com/MusicPlayerDaemon/MPD/pull/167]

For certain format (hi-res files) and normal buffer size hardware, The
hardware may at once consume most of the buffers. However, in Delay()
function, MPD is supposed to wait for 25 ms after the next try. it
will create a hiccup. The negative impact is much major than
increasing the latency.

I understand larger buffers come at a price. That's why in my earlier
commit last year I significantly reduced it. However, the buffer size
in CoreAudio is set according to the hardware, which is super small
latency. For instance, the system audio of 2015 generation of macbook
pro has maximum buffer size of 4096 samples, which is just 0.09s for
44.1k framerate, or 0.04s for 96k frames --- . compare to the 0.5 sec
latency alsa plugin has, even if we quadruple it, it's still super
tiny.
2017-12-12 10:56:42 +01:00
Max Kellermann dfaf08743c *: check defined(_WIN32) instead of defined(WIN32)
Only _WIN32 is defined by the compiler, and WIN32 is not standardized
and may be missing.

Closes #169
2017-12-12 10:22:20 +01:00
Max Kellermann d9552d8a6d android/build.py: support NDK r16 2017-12-12 10:01:47 +01:00
Max Kellermann 7586a8ab2c python/build/libs.py: disable the FFmpeg HEVC decoder due to clang build failure 2017-12-12 10:01:47 +01:00
Max Kellermann e1a942250b python/build/libs.py: disable more FFmpeg features 2017-12-12 09:57:40 +01:00
Max Kellermann 72be0185de python/libs: upgrade Boost to 1.65.1 2017-12-12 09:16:40 +01:00
Max Kellermann 7e4cbce06b python/build/libs: upgrade CURL to 7.57.0 2017-12-12 09:15:24 +01:00
Max Kellermann 177d62f431 python/build/libs: upgrade FFmpeg to 3.4.1 2017-12-11 19:00:22 +01:00
Uwe Kleine-König 5a11e03725 lib/upnp: use include path without upnp/ prefix and honor pkg-config CFLAGS
If libupnp is installed in a non-standard location we must rely on the
include path provided by $(pkg-config --cflags libupnp). Relative to the
path given from that command no prefix must be used to find the respective
files.
2017-12-11 18:58:09 +01:00
Max Kellermann 75d068b7cd Makefile.am: include Windows cross-build script in source tarball 2017-12-05 11:24:52 +01:00
Max Kellermann fbc4bb29dc Merge branch 'v0.20.x' 2017-12-03 16:22:08 +01:00
FlashSystems 1208503888 Removing gcc_malloc attribute from `Directory::CreateChild` to fix
assignment of `mnt->mounted_database` in `SimpleDatabase::Mount`.
2017-12-03 12:34:08 +01:00
Max Kellermann de90d401d2 MusicChunk: add magic value IGNORE_REPLAY_GAIN
This fixes spurious replay gain logs when the player inserts silence
chunks, because those silence chunks had no replay gain attached,
resetting the ReplayGainFilter state, flipping it forth and back.
2017-12-03 11:39:12 +01:00
Max Kellermann 396defaea9 MusicChunk: initialize replay_gain_serial on demand 2017-12-03 11:39:07 +01:00