Commit Graph

12491 Commits

Author SHA1 Message Date
Max Kellermann
b2670eaba5 player/Thread: move start_time variable into the scope 2017-12-20 19:15:28 +01:00
Max Kellermann
54aff33118 player/Thread: reorder attributes to reduce padding 2017-12-20 18:43:56 +01:00
Max Kellermann
499e053d58 decoder/mad: use std::unique_ptr 2017-12-20 15:32:10 +01:00
Max Kellermann
9f33c6fe03 decoder/Bridge: use std::unique_ptr<Tag> 2017-12-20 15:24:41 +01:00
Max Kellermann
73e69edac3 input/InputStream: ReadTag() returns std::unique_ptr<Tag> 2017-12-20 15:22:18 +01:00
Max Kellermann
4c4fa68268 input/Icy: use std::unique_ptr<Tag> 2017-12-20 15:13:22 +01:00
Max Kellermann
43d2fd73ab lib/xiph/VorbisComments: return std::unique_ptr<Tag> 2017-12-20 15:10:59 +01:00
Max Kellermann
71f1ec0bc8 tag/Id3Scan: return std::unique_ptr<Tag> 2017-12-20 15:09:20 +01:00
Max Kellermann
99f4bce112 IcyMetaDataParser: return std::unique_ptr<Tag> 2017-12-20 15:06:33 +01:00
Max Kellermann
6b77ee9a5e IcyMetaDataParser: add "noexcept" 2017-12-20 15:05:14 +01:00
Max Kellermann
25fa3ccade MusicChunk, player/Thread: use std::unique_ptr<Tag> 2017-12-20 15:02:14 +01:00
Max Kellermann
c6a95395b5 tag/Tag: Merge() returns std::unique_ptr<Tag> 2017-12-20 14:59:51 +01:00
Max Kellermann
cb3042ffb2 tag/Builder: CommitNew() returns std::unique_ptr<Tag> 2017-12-20 14:55:25 +01:00
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