Commit Graph

11719 Commits

Author SHA1 Message Date
Max Kellermann a057b4f6d8 *: add lost of "noexcept" specifications 2017-06-04 12:46:48 +02:00
Max Kellermann 62b03cfddf storage, db, mixer, command: remove more bogus "pure" attributes
This commit is similar to 788e3b31e1,
and removes more "pure" attributes which were placed on functions that
could throw exceptions, which is illegal according to clang's
understanding of the attribute (but not according to GCC's).  GitHub
issue #58 was most likely about StorageDirectoryReader::GetInfo() and
Storage::GetInfo(), which still had "pure" attributes.

Closes #58
2017-06-03 21:54:24 +02:00
Jörg Raftopoulos 18b827b979 decoder/ffmpeg: add support for adx
Add ffmpeg decoder support for *.adx files (Sega game console)

Closes #60
2017-06-03 20:57:20 +02:00
Max Kellermann 0a379fc514 system/ByteOrder: fix byte order detection on FreeBSD/aarch64
Patch from
 https://svnweb.freebsd.org/ports/head/audio/musicpd/files/patch-src_system_ByteOrder.hxx?revision=441921&view=co
(with a tiny modification)

Closes #59
2017-05-29 20:37:14 +02:00
Max Kellermann 445c11b8d9 increment version number to 0.20.9 2017-05-29 20:36:08 +02:00
Max Kellermann 8d290ad509 release v0.20.8 2017-05-19 20:10:22 +02:00
Max Kellermann b90c48b50f .travis.yml: enable Mac OS X 2017-05-19 19:54:27 +02:00
Max Kellermann d19e7db09e .travis.yml: add shell variable OPTIONS 2017-05-19 19:54:27 +02:00
Max Kellermann 9939904b02 .travis.yml: configure with --disable-silent-rules --disable-dependency-tracking 2017-05-19 19:54:27 +02:00
Max Kellermann ca23b15f5c test/test_byte_reverse: move "alignas" attribute to the front
Apparently, this makes old clang versions happy ("'alignas' attribute
cannot be applied to types).
2017-05-19 19:45:42 +02:00
Mario Di Raimondo ffa676f577 playlist/m3u: support for mime-type `audio-mpegurl` for M3U playlists 2017-05-19 15:25:58 +02:00
Max Kellermann 6d023c4df3 .travis.yml: remove the unnecessary "compiler" setting 2017-05-17 16:22:19 +02:00
Max Kellermann b31bd37a30 .travis.yml: check $TRAVIS_OS_NAME
Prepare for Mac OS X support by omitting those Ubuntu-specific
commands.
2017-05-17 15:59:25 +02:00
Max Kellermann 78faee8c7c .travis.yml: choose compiler with environment variables
.. and not update-alternatives, which requires "sudo".
2017-05-17 15:56:19 +02:00
Max Kellermann 40e2a703d0 .travis.yml: parallel build 2017-05-17 15:36:59 +02:00
Max Kellermann b01edcb9bc .travis.yml: indent 2 2017-05-17 15:27:40 +02:00
André Klitzing f7fffc9be8 Add initial travis configuration 2017-05-16 07:37:46 +02:00
Max Kellermann 50e8634097 python/build/libs: upgrade FFmpeg to 3.3.1 2017-05-16 07:27:08 +02:00
Max Kellermann e3994e517e INSTALL: merge into doc/user.xml 2017-05-16 07:24:02 +02:00
Max Kellermann 2bb7785189 doc/user.xml: add sticker documentation 2017-05-16 07:23:57 +02:00
Max Kellermann 90c8408111 doc/user.xml: add Zeroconf documentation 2017-05-16 07:23:52 +02:00
Max Kellermann 64786ec12a Main: omit "constexpr" on MIN_BUFFER_SIZE with GCC 4.x 2017-05-16 07:20:47 +02:00
Max Kellermann b3c82f8886 output/{osx,haiku,pulse,sles}: add missing "noexcept"
Fixes build failure on OS X, closes #44.  With the other plugins,
that's not critical, because those use the AudioOutputWrapper, which
hides this problem.
2017-05-16 07:12:30 +02:00
Max Kellermann 063259dc52 increment version number to 0.20.8 2017-05-16 07:06:57 +02:00
Max Kellermann b4c9d9c2a7 release v0.20.7 2017-05-15 22:51:08 +02:00
Max Kellermann fa2b59df4b Main: cap buffer_before_play at 80% to prevent deadlock
Closes #34
2017-05-15 22:49:31 +02:00
Max Kellermann f41a169460 Main: enforce a reasonable minimum audio_buffer_size setting 2017-05-15 22:44:18 +02:00
Max Kellermann f567083006 Main: refactor DEFAULT_BUFFER_SIZE to represent bytes 2017-05-15 22:40:23 +02:00
Max Kellermann a2a677e539 doc/developer.xml: change git URIs to GitHub 2017-05-15 21:49:18 +02:00
Max Kellermann 9123c0b733 doc, README.md: update bug tracker URL
Closes #43
2017-05-15 21:48:03 +02:00
Max Kellermann 788e3b31e1 *: remove "pure" and "const" attributes from throwing functions
The "pure" and "const" attributes are not so well-defined, and a
recent clang version implements an optimization which pushes the
definition's boundary beyond what I believed it was.  clang now
assumes that functions declared "pure" cannot throw exceptions, even
if they lack the "noexcept" specification.

When compiled with this new clang version, MPD will crash randomly if
an exception happens to get thrown by such as "pure" function
(https://github.com/MusicPlayerDaemon/MPD/issues/41).

This commit removes all such misplaced "pure" and "const" attributes,
closing #41.
2017-05-08 17:25:06 +02:00
Max Kellermann 71f0ed8b74 *: add "noexcept" to many, many function prototypes
This eliminates some overhead, because the compiler doesn't need to
consider these functions throwing.
2017-05-08 14:44:49 +02:00
Max Kellermann ac2e4e593d python/libs: upgrade Boost to 1.64 2017-04-24 20:43:04 +02:00
Max Kellermann edaa7d7748 python/build/libs: upgrade CURL to 7.54.0 2017-04-24 20:42:28 +02:00
Max Kellermann 3cdf965fba python/build/libs: upgrade FFmpeg to 3.3 2017-04-24 20:41:08 +02:00
Max Kellermann 6b60d1e71f decoder/pcm: add missing nullptr check
Fixes a potential crash bug which is actually unreachable, because the
"pcm" plugin is never invoked when there is no (matching) MIME type.
2017-04-24 20:36:55 +02:00
Max Kellermann 7b7fb5acd5 decoder/pcm: fix potential assertion failure in FillBuffer()
After a seek failure, the buffer may still be full, and then
FillBuffer() aborts with assertion failure.
2017-04-24 11:20:37 +02:00
Bart Nagel 0a7d612f41 Remove some redundant code 2017-04-18 16:10:38 +02:00
Max Kellermann 38da76bbe0 util/ScopeExit: copy enabled tag in move constructor 2017-04-12 13:11:43 +02:00
martinarielhartmann a13e045742 Update libs.py
upgrade zlib to 1.2.11
2017-04-11 13:31:34 +02:00
cotko 811620c0a0 Fix typo 2017-04-11 13:31:15 +02:00
Max Kellermann 504f5f7bdd storage/FileInfo, db/simple/Directory: use 64 bit for device/inode
An ino_t is usually a 64 bit integer, and some file systems (such as
Linux's kernel NFS client) really uses the upper 32 bit.  This can
lead to false positives in the directory loop detection in
FindAncestorLoop().  Increasing these two attributes (in
StorageFileInfo and Directory) to 64 bit adds little overhead, but
makes the check a lot safer.
2017-04-06 09:58:25 +02:00
Max Kellermann 32bcad51b8 configure.ac: prepare for 0.20.7 2017-03-16 10:50:12 +01:00
Max Kellermann a40510c241 release v0.20.6 2017-03-10 16:57:59 +01:00
Max Kellermann ac8dce6599 lib/curl/Request: "ICY 200 OK" is a response boundary header 2017-03-10 16:28:02 +01:00
Max Kellermann 190d525099 lib/curl/Request: move code to IsResponseBoundaryHeader() 2017-03-10 16:24:30 +01:00
Max Kellermann 1b6666fa39 Partition: handle SYNC_WITH_PLAYER before TAG_MODIFIED
The TAG_MODIFIED handler (i.e. playlist::TagModified()) works only if
the modified song is the current song - something that is not updated
until SYNC_WITH_PLAYER is finished.  This fixes tag updates right
after a new song is started.
2017-03-10 16:11:34 +01:00
Max Kellermann 1dd01c99e8 decoder/sidplay: make compatible with libsidplayfp < 1.8
https://bugs.musicpd.org/view.php?id=4665
2017-03-10 13:48:52 +01:00
Thomas Zander d50b30a498 Add missing include for cstdlib, otherwise free() is undefined 2017-03-07 20:02:36 +01:00
Max Kellermann 42a3a87f13 util/HugeAllocator: paranoid check for sysconf()<0
Just in case.
2017-03-01 21:50:26 +01:00