Commit Graph

11275 Commits

Author SHA1 Message Date
Max Kellermann
680037927d Merge branch 'v0.19.x' 2016-10-27 21:27:19 +02:00
Max Kellermann
ee026386e5 storage/Composite: avoid setting the error twice
If an error has already been set by f.directory->storage->GetInfo(),
don't set it again.
2016-10-27 21:26:55 +02:00
Max Kellermann
60f72f0ff9 command/Storage: use std::unique_ptr 2016-10-27 21:04:40 +02:00
Max Kellermann
debc855806 Merge branch 'v0.19.x' 2016-10-27 21:01:27 +02:00
Max Kellermann
49c04ccfc7 decoder/sidplay: fix playback speed with libsidplayfp
https://bugs.musicpd.org/view.php?id=4577
2016-10-27 20:25:19 +02:00
Max Kellermann
11ba44870b decoder/sidplay: simplify seek loop 2016-10-27 20:25:12 +02:00
Max Kellermann
f9a64d24bf storage/Composite: eliminate the second FindStorage() overload
It was used in a wrong way, which did not deal with errors
consistently.  And if that's wrong, there is no need for FindStorage()
at all - let's remove it and the confusion around it.
2016-10-27 19:55:20 +02:00
Max Kellermann
e1a8dcfcc8 storage/Composite: add FindStorage() API documentation 2016-10-27 19:55:08 +02:00
Max Kellermann
1ee0e29974 storage/Composite: fix documentation typo 2016-10-27 17:12:24 +02:00
Max Kellermann
10e32454ef lib/sqlite, sticker: migrate from class Error to C++ exceptions 2016-10-27 07:50:08 +02:00
Max Kellermann
8d41e9658f Instance: remove Error parameter from GetDatabase() 2016-10-26 18:52:00 +02:00
Max Kellermann
086652dd50 Instance: add GetDatabaseOrThrow() 2016-10-26 18:47:19 +02:00
Max Kellermann
77a9940461 decoder/ffmpeg: ignore empty packets
An empty packet would be a command for avcodec_send_packet() to
finalize the codec.

Fixes https://bugs.musicpd.org/view.php?id=4588
2016-10-26 18:29:07 +02:00
Max Kellermann
9c1c180ae0 tag/Item: declare value[] to have only one element
By declaring the variable-length array to have a nominal size of 1,
struct TagPoolSlot shrinks from 24 bytes to 16 bytes, because "ref"
and "item" now both fit in one machine word.
2016-10-26 18:26:01 +02:00
Max Kellermann
06682bd2a9 tag/Item: remove "packed" attribute, add static_assert on alignment instead
The "packed" attribute triggers a clang 4.0 warning, and it's not
necessary.  All we want is correct allocation of this
dynamically-sized struct.
2016-10-26 18:24:16 +02:00
Max Kellermann
6135f0763b playlist/cue/CueParser: update API documentation 2016-10-26 17:07:52 +02:00
Max Kellermann
307964d874 android/build.py: always build with clang
Support for GCC has been dropped from NDK r13.  Let's switch
everything to clang before they really remove GCC completely.
2016-10-26 17:00:17 +02:00
Max Kellermann
f3dd50de87 python/build/ffmpeg: disable clang's integrated assembler
Causes compatibility problems, because FFmpeg expects the GNU as
syntax.

This FFmpeg bug report has some information, but it was closed as
"invalid": https://trac.ffmpeg.org/ticket/5158
2016-10-26 17:00:17 +02:00
Max Kellermann
c776bcc5f6 android/build.py: drop LLVM version from path
For Android NDK r13.
2016-10-26 17:00:17 +02:00
Max Kellermann
4bbc43d91a android/build.py: pass architecture/CPU flags to the linker 2016-10-26 17:00:17 +02:00
Max Kellermann
db8b5dc698 python/build/zlib: don't use DESTDIR
DESTDIR is for installing to a chroot, but this is not one.  Instead,
we want real absolute paths in the pkg-config file.
2016-10-26 17:00:17 +02:00
Max Kellermann
2f56c61b47 python/libs: upgrade Boost to 1.62 2016-10-26 17:00:17 +02:00
Max Kellermann
1d340e7664 python/libs: upgrade CURL to 7.50.3 2016-10-26 17:00:17 +02:00
Max Kellermann
ea62bc0bb2 python/libs: upgrade FFmpeg to 3.1.5 2016-10-26 17:00:17 +02:00
Max Kellermann
8380c3be02 python/build/autotools: pass RANLIB to configure
Fixes various static library linker failures ("bad extended name entry
at header"), because the wrong "ranlib" was used.
2016-10-26 17:00:17 +02:00
Felix Hädicke
6470bcda19 python/build/autotools: do not use absolute path for autotools 2016-10-26 17:00:17 +02:00
Max Kellermann
2d51349d1d python/build/autotools: move libtoolize call up
autoconf depends on libtoolize.
2016-10-26 17:00:17 +02:00
Max Kellermann
2f2b394d72 fs/StandardDirectory: no /etc/passwd lookups on Android
This doesn't make sense on Android; there is no home directory for
users.
2016-10-26 17:00:17 +02:00
Max Kellermann
ba181ae9df fs/io/FileOutputStream: work around -Wunused 2016-10-26 17:00:17 +02:00
Max Kellermann
f62546ec79 decoder/mad: use C++11 initializers 2016-10-25 18:52:54 +02:00
dennisschagt
7c251fe190 Fix comment in mpdconf.example ("can setting can" -> "setting can") 2016-10-20 15:02:36 +02:00
hawken
1c155a0d03 Fix for TextInputStream consuming file without producing lines 2016-10-12 12:19:04 +02:00
hawken
8f196db778 Fix for segfault on uninitialized state_file 2016-10-12 12:18:44 +02:00
Max Kellermann
a85455fb3f configure.ac: prepare for 0.19.20 2016-09-27 22:04:46 +02:00
Yue Wang
d0302d1bbe _delay in output plugin will now ask the thread to repeatedly wait until it returns 0.
change the _delay API doc so that it matches its implementation behavior.
2016-09-19 10:24:56 -07:00
Yue Wang
d73267df5e use osx_output_delay to wait until ring buffer is able to write
This further optimize the performance. 

This is now working properly with a conditional variable bug being fixed (8bbfb5cda1).
2016-09-19 08:51:03 -07:00
Christian Körner
8bbfb5cda1 thread/PosixCond: fix timed_wait
pthread_cond_timedwait() in PosixCond.hxx:timed_wait(PosixMutex...) returns
EINVAL, if ts.tv_nsec >= 1E9. In this case, it returns to early.

Find attached a patch which fixes this. I chose a compare-subtraction method
to keep ts.tv_nsec below 1E9.

Another option would be
ts.tv_sec += ts.tv_nsec / 1000000000;
ts.tv_nsec %= 1000000000;

But I guess this takes more time on some ARM processors, which don't support
hardware division.
2016-09-19 11:21:21 +02:00
Yue Wang
1e17d5b1cc Update doc for new core audio plugin features. 2016-09-18 23:51:14 -07:00
Yue Wang
f881917d2f Fix a bug that buffer_frame_size is not properly initialized 2016-09-18 21:09:57 -07:00
Yue Wang
99244f51b0 Remove unused imports 2016-09-18 19:40:55 -07:00
Yue Wang
606d029ed9 Kill mutex and locks in osx_render. Improve performance. Also fix an initialization problem 2016-09-18 19:40:04 -07:00
Yue Wang
e4b9d679fb options for sample rate syncing and device hogging 2016-09-18 19:12:45 -07:00
Yue Wang
2bf2bd8932 Add myself to authors 2016-09-18 13:33:48 -07:00
Yue Wang
4a8a33ea85 Hogging is for user selected device only.
do not hog system device.
2016-09-18 13:15:46 -07:00
Yue Wang
ac4b83046a Add sample rate synchronization and device hogging to core audio plugin
which ensures mpd do bit perfect playback on OS X
2016-09-18 12:52:08 -07:00
Max Kellermann
2a2ac35b98 decoder/ffmpeg: FfmpegOpenInput() throws exception on error 2016-09-16 18:49:22 +02:00
Max Kellermann
8c744efd56 input/InputStream: migrate from class Error to C++ exceptions 2016-09-16 17:43:36 +02:00
Max Kellermann
597e59f10d input/thread: use C++ exceptions instead of class Error 2016-09-16 17:43:32 +02:00
Max Kellermann
3cd07d0b54 input/thread: use class ScopeLock and ScopeUnlock 2016-09-16 17:43:32 +02:00
Max Kellermann
13259225c2 input/async: eliminate attribute "postponed_error"
Switch the remaining users to "postponed_exception".
2016-09-16 17:43:32 +02:00