Max Kellermann
5696f91a1e
pcm/PcmFormat: ARM NEON optimizations for float->s16
...
This is nearly 4 times faster than the "portable" algorithm.
2014-03-15 11:41:01 +01:00
Max Kellermann
3932e62fc7
test/test_pcm: replace 256 with prime number
...
Use some odd number that will expose problems with remaining samples
after optimized vector operations.
2014-03-15 10:53:13 +01:00
Max Kellermann
729304aef5
test/test_pcm_format: add unit test for float clamping
2014-03-15 10:00:47 +01:00
Max Kellermann
40cce050e7
test/test_pcm_all: move CPPUNIT_TEST_SUITE_REGISTRATION() to test_pcm_main.cxx
...
Run each unit test only once. Using CPPUNIT_TEST_SUITE_REGISTRATION
from within the header meant that each unit class was registered again
for each source file that includes the header.
2014-03-15 10:00:47 +01:00
Max Kellermann
bb6ee71f08
pcm/PcmFormat: don't use WritableBuffer
...
The previous commit eliminated the need for that.
2014-03-14 23:23:16 +01:00
Max Kellermann
0d0642fd67
pcm/PcmFormat: instantiate FloatToInteger<S32>
...
.. instead of reusing FloatToInteger<S24> and converting from S24 to
S32 in-place.
2014-03-14 23:21:20 +01:00
Max Kellermann
08e6cf3dd2
pcm/PcmFormat: eliminate more duplicate code with templates
...
Refactor the conversion functions to classes and pass an instance to
the new function AllocateConvert().
2014-03-14 20:54:09 +01:00
Max Kellermann
044134eba0
pcm/PcmFormat: eliminate local variable "bits"
2014-03-14 20:53:22 +01:00
Max Kellermann
9fa6fa522e
pcm/PcmFormat: remove obsolete AllocateFromFloat() overload
2014-03-14 20:53:14 +01:00
Pete Beardmore
d0cd98a63a
MultipleOutputs: ensure input_audio_format is zero-initialised
...
-fixes SIGABRT when mpd is started from a previously paused state
-regression introduced by commit: f5a923b9d16e4c63942a033d1bdb2ab150aae342:
'OutputAll: convert to class, move instance to class Partition'
-input_audio_format was previously declared using the static modifier
ensuring it was zero-initialised by default
-the current default-initialised input_audio_format contains garbage at
runtime which allows the AudioFormat.IsDefined() 'fail fast' test in
MultipleOutputs::Update to pass and the SIGABRT follows in
AudioOutput::Open when passed the invalid input_audio_format struct
-switching AudioFormat.IsDefined() for AudioFormat.IsValid() is an
alternative workaround
2014-03-14 20:27:21 +01:00
Max Kellermann
88eae9dabb
command/{storage,file}: suppress bogus format warnings on WIN32
2014-03-14 08:58:43 +01:00
Max Kellermann
f2f1801c25
db/proxy: check connect error before initializing SocketMonitor
...
Fixes crash bug because mpd_connection_get_async() was called without
a connection.
2014-03-06 13:35:42 +01:00
Pete Beardmore
9da57e7458
PulseOutputPlugin: avoid locking mainloop object from within mainloop thread
...
-fixes regression introduced by:
'8d6fedf8177d0d2ced81e6d93d35c368b2ac69db [PATCH] Mixer: add class MixerListener'
-listener.OnMixerVolumeChanged() called GetVolume() which attempted to acquire
the lock but as per 'pa_threaded_mainloop_lock()' documentation:
This function may not be called inside the event loop thread. Events that are
dispatched from the event loop thread are executed with this lock held
-this patch seperates the underlying action of GetVolume() into a new
GetVolumeInternal() function, to be called only when the lock is already held, as
is the case for the listener.OnMixerVolumeChanged() call
2014-03-05 17:17:41 +00:00
Pete Beardmore
3a3fb98f79
PulseOutputPlugin: set icon name
2014-03-04 15:18:30 +00:00
Max Kellermann
503ed9c331
release v0.18.9
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTEwdzAAoJECNuiljG20USkFYP/i1PaM7O20e2EPE7ELhffk1I
PEL6WiuCxfEHP+JbH/RPy/CdyKIqx3TTeaktXzOJmCcU+5fAgbpIwfK689ZjpE7Y
U+7aPfGudfjYTxM/bigEo+1XAIYWJCJ2IlopN0lRIZSquUm8rfxosqsNzJFrhwsK
40Ps36XdpYUA3z9dugyJjeKQETkjJa5Y55C1yml5RRUz+yPqyiPelm0dSlx3Ggce
KpmNZfp8g8/stwb08iw+qk+cNKP75eJwPdFmQrsc91QxP1oW7ERWhiICA0ZtqaNe
T0Ld5+wZ6uTJSztQiUsWrJYS1yKix5q1Za8tyFr3a9NPI+iIjsALXqU9k7zmZ6Id
GK0Xr9Noo1o80QeGkd60nJyCQXbEU/V0p9D/QiDVei+IvK6mbxF3y2gPA7wobgrC
KEDgsJZ+0fjmgdx+eb8ydg0uIwHrk04u0YKukUqA3bkNS/PUEICPqblcg8Spf89I
RMdjq2HFcpkaIwGvryfHIbTNUbonAziMzmiJ0WQA1FCD3x1WELvBf09GzAsUEoFX
Be0Co15rODOByo5ryZvSJv5BCr2RuCPwzNF+V26nMaKK7EloQWmbO0rpkRLVRk81
qo1JmElm6SyeE3kHqVW/NyrPxLtd7VngV+z9hXr95szUjCjMv/MK169r4jumLTex
RLyPDkhkQLDIijamhjfZ
=nX0n
-----END PGP SIGNATURE-----
Merge tag 'release-0.18.9'
2014-03-02 11:46:07 +01:00
Max Kellermann
2784d65618
release v0.18.9
2014-03-02 11:25:01 +01:00
Max Kellermann
47ea69233b
output/alsa: remove the obsolete Raspberry Pi workaround
...
Has been superseded by the previous commit.
2014-03-02 11:22:04 +01:00
Max Kellermann
a884e37de1
output/alsa: call snd_pcm_prepare() after snd_pcm_drop()
...
Don't wait for an optimistic write to fail. This is an improved
workaround for the infamous Raspberry Pi bug (see commit af991765
).
It works much better and comes without the negative side effects. The
old workaround is now obsolete.
2014-03-02 11:12:25 +01:00
Max Kellermann
0102a8665a
event/SignalMonitor: fix build failure due to missing signal.h include
2014-03-02 10:21:31 +01:00
Max Kellermann
cb63189f6b
android build 3
2014-03-02 00:53:41 +01:00
Max Kellermann
d77c83f4ba
Main: auto-configure state file on Android
2014-03-02 00:35:37 +01:00
Max Kellermann
8cf3ac200b
Main: use getExternalStorageDirectory() for locating mpd.conf
2014-03-02 00:24:31 +01:00
Max Kellermann
477877406a
android/build.py: enable ffmpeg
2014-03-02 00:22:05 +01:00
Max Kellermann
2bf2f34b12
InputPlugin: allow init() to soft-fail
...
Add enum InputResult which is a tri-state. Input plugins may now fail
and just become unavailable.
2014-03-02 00:17:32 +01:00
Max Kellermann
7453c26ec4
thread/Name: fall back to prctl()
2014-03-01 23:58:59 +01:00
Max Kellermann
b059ba69d6
output/sles: support stereo
2014-03-01 23:05:44 +01:00
Max Kellermann
36ca57a54e
fs/StandardDirectory: add GetUserCacheDir()
...
Move code from CreateConfiguredDatabase() and add XDG support. This
implements an automatic Linux fallback for the setting "db_file" if
none was specified.
2014-03-01 22:51:51 +01:00
Max Kellermann
efa6678bcc
NEWS: add group "configuration"
2014-03-01 22:51:51 +01:00
Max Kellermann
b8f1850bba
db/Configured: store database file in cache directory
...
Add class Context which wraps the Android/Java Context class and add a
JNI wrapper for method Context.getCacheDir().
2014-03-01 22:20:28 +01:00
Max Kellermann
5268f55344
java/File: add method ToAbsolutePath() returning AllocatedPath
2014-03-01 20:53:39 +01:00
Max Kellermann
e44c9a000d
android/Environment: fix copyright header
...
Stole my own code from another project :-)
2014-03-01 20:22:22 +01:00
Max Kellermann
ffc926bda5
android/build.py: enable libid3tag
2014-03-01 19:18:50 +01:00
Max Kellermann
07c1ba1f5e
TagId3: disable charset conversion without GLib
2014-03-01 19:18:50 +01:00
Max Kellermann
14168eadb2
Main: inline mpd_main() on Android
2014-03-01 19:09:31 +01:00
Max Kellermann
58771fc41c
Android: obtain music directory from Environment.getExternalStoragePublicDirectory()
2014-03-01 18:48:20 +01:00
Max Kellermann
1e06c66c77
java: new helper library for the Android port
2014-03-01 18:48:20 +01:00
Max Kellermann
c73771e3ce
Main: load mpd.conf from /sdcard/ on Android
...
Hard-coded path. Will be replaced soon.
2014-03-01 18:48:20 +01:00
Max Kellermann
350d2bcd6e
storage/Configured: fix fallback music directory
...
This was accidently disabled when storage plugins were introduced.
2014-03-01 18:45:09 +01:00
Max Kellermann
b2c523e56d
android: use "strip" from the Android NDK
2014-03-01 08:52:28 +01:00
Max Kellermann
5bc5abf0e7
android: enable database plugins
2014-03-01 08:25:23 +01:00
Max Kellermann
44352e9ee4
Makefile.am: use Android API level 17
...
The SDK for level 9 cannot be downloaded anymore.
2014-03-01 08:24:49 +01:00
Max Kellermann
7ccc609da2
db/update/ExcludeList: make no-op if GLib is disabled
...
Quick hack to allow using the database without GLib (for Android).
2014-03-01 08:16:13 +01:00
Max Kellermann
ebc0168072
android: downgrade WRITE_EXTERNAL_STORAGE to READ_EXTERNAL_STORAGE
...
We're not using external storage yet, but as soon as we will, we only
need to read music files, not write them.
2014-03-01 07:58:01 +01:00
Max Kellermann
4ba7427fa0
util/{Const,Writable}Buffer: add operator[]
2014-03-01 07:49:13 +01:00
Max Kellermann
9dc5335e3e
util/{Const,Writable}Buffer: add template specialization for "void"
...
Omit a few methods that are not applicable.
2014-03-01 07:37:58 +01:00
Max Kellermann
d333de1980
util/ConstBuffer: remove cast operator ConstBuffer<void>
...
This was bugged, because it did not scale the "size".
2014-03-01 07:37:20 +01:00
Max Kellermann
96afa8bd2b
command: add command "listfiles"
...
Lists files and directories. Supports storage plugins.
2014-03-01 06:25:57 +01:00
Max Kellermann
797bbeabeb
m4: add missing file ax_pthread.m4 from autoconf-archive
2014-03-01 06:24:55 +01:00
Max Kellermann
20cdab5546
DatabasePrint: move code to PrintDirectoryURI()
2014-02-28 08:21:34 +01:00
Max Kellermann
6765234b60
DatabasePrint: add API documentation
2014-02-28 08:17:25 +01:00