Commit Graph

12507 Commits

Author SHA1 Message Date
Max Kellermann 860d13c7d8 decoder/Control: caller must lock mutex for Stop() 2017-12-22 00:48:12 +01:00
Max Kellermann 76d77af0f0 player/Thread: use std::lock_guard once more 2017-12-22 00:47:36 +01:00
Max Kellermann ea8ab4ddf2 player/Thread: merge two mutex locks 2017-12-22 00:42:10 +01:00
Max Kellermann 4bcc38c749 player/Thread: move mutex lock out of WaitDecoderStartup() 2017-12-22 00:41:05 +01:00
Max Kellermann 5becffbba5 player/Thread: merge two mutex locks 2017-12-22 00:39:54 +01:00
Max Kellermann d0194a6fb3 decoder/Control: caller must lock mutex for Seek() 2017-12-22 00:37:25 +01:00
Max Kellermann e45d13d469 player/Thread: add missing mutex lock around PlayerControl::SetError() 2017-12-22 00:35:18 +01:00
Max Kellermann 412c0a965c util/WStringAPI: fix indent 2017-12-21 18:45:26 +01:00
Ilya ilyxa Tyshchenko 2becf79223 correct action for compile on Solaris 11.3 X86 2017-12-21 18:42:36 +01:00
Max Kellermann a431274b32 player/Control: add "occupied" flag to skip REFRESH
Reduces main thread contention.  Avoids blocking the main thread in
"status" commands.
2017-12-21 10:25:40 +01:00
Max Kellermann 994c9a01e3 player/Control: reorder attributes to reduce padding 2017-12-21 10:25:38 +01:00
Max Kellermann ad1d5e8248 Merge branch 'v0.20.x' 2017-12-21 10:25:28 +01:00
Max Kellermann 43ec96d4a0 command/Error: translate std::{length_error,out_of_range} to ACK_ERROR_ARG 2017-12-21 10:22:04 +01:00
Max Kellermann 3d1d779da7 storage/State: use std::set instead of sorting a std::list 2017-12-21 10:22:00 +01:00
Max Kellermann c88056ba83 db/simple: fix file corruption in the presence of mount points
If a directory is a mount point, omit the "directory: " as well.

This bug is years old, but has become more visible now that mount
points are persistent in the state file.
2017-12-21 10:16:52 +01:00
Max Kellermann e769751221 increment version number to 0.20.14 2017-12-21 10:15:16 +01:00
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