Max Kellermann
828cd6fd0b
Merge branch 'v0.18.x'
2014-07-11 21:33:50 +02:00
Max Kellermann
0ef843f138
decoder/sndfile: use decoder_read()
...
.. instead of InputStream::LockRead(). The former is cancellable.
2014-07-11 21:18:44 +02:00
Max Kellermann
11a5ee821b
PlaylistEdit: postpone UpdateQueuedSong() when adding multiple songs
...
Implement a "bulk" edit mode that postpones both UpdateQueuedSong()
and OnModified(). This way, the playlist version gets incremented
only once. More importantly: when adding multiple songs to a queue
that consists of only one song, the first song that got added will
always be played next. By postponing this choice, all newly added
songs get a chance to become the next song. Fixes the second (and
last) part of Mantis ticket 0004005.
2014-07-11 20:22:35 +02:00
Max Kellermann
e2cc328eef
Playlist: randomize next song when enabling "random" mode while not playing
...
Don't restore the current song after shufflung when MPD is stopped
(but still remembers the current song internally). Fixes the first
part of Mantis ticket 0004005.
2014-07-11 19:41:39 +02:00
Max Kellermann
681643ea9e
input/curl: options "verify_peer" and "verify_host"
2014-07-11 16:39:42 +02:00
Max Kellermann
ccbb5c3e01
decoder/audiofile: log libaudiofile errors
2014-07-10 09:37:43 +02:00
Max Kellermann
107321e385
decoder/audiofile: implement scan_stream() instead of scan_file()
2014-07-10 09:23:56 +02:00
Max Kellermann
913064d6cc
Merge branch 'v0.18.x'
2014-07-09 20:02:07 +02:00
Joff
09384df32c
decoder/dsd: use decoder_read_full() where appropriate
...
Addresses Mantis ticket 0004015.
[mk: use decoder_read_full() only when needed, and a few formal
changes]
2014-07-09 19:18:36 +02:00
Max Kellermann
20538516b9
decoder/audiofile: use decoder_read_full()
...
Works around WAV stream playback bug, because libaudiofile does not
like partial reads (Mantis 0004028).
2014-07-09 19:05:20 +02:00
Max Kellermann
bc6472bb9e
decoder/audiofile: use decoder_read()
...
.. instead of InputStream::LockRead(). The former is cancellable.
2014-07-09 18:57:50 +02:00
Christoph Tieben
34689eb2d2
decoder: vorbis, flac, opus: honor DESCRIPTION= tag in Xiph-based files as a comment to the song
...
(see https://www.xiph.org/vorbis/doc/v-comment.html for Details)
2014-06-27 21:14:17 +02:00
Max Kellermann
fa1fb47d75
Merge branch 'v0.18.x'
2014-06-23 10:13:50 +02:00
Max Kellermann
848ed14788
db/proxy: fall back to recursive walk on old libmpdclient/MPD
...
Error message was 'too few arguments for "find"' because the "base"
constraint was not supported, and no other constraints remained.
2014-06-23 09:18:11 +02:00
Max Kellermann
4c8a5dfb05
db/proxy: use mpd_song_get_{start,end}() only with libmpdclient >= 2.3
2014-06-23 09:17:35 +02:00
Max Kellermann
4f61ba766d
configure.ac: prepare for 0.18.12
2014-06-23 09:14:35 +02:00
Max Kellermann
3cd24c0a51
release v0.18.11
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTcPbuAAoJECNuiljG20US+LsQAI5LcUiQ2AxfDdXfEkIW+ryQ
U5htp4RAAizVFEAdgzdDOoHBVefkvwij6G9ND9WAbJRsUOZs62XwlnOFaB/uQPhd
VvoNIQLmuUNxltF1itaCTJ0UJkXi6ObVExpwMScGI242uUmoNnxwsWxDxyy2s4bn
On/OwT64zTOsPTjkYGdfGncwx4dhQc2KJvGGD6y/lMhxUnn3NoKG/VOgleN4ALcL
KQ0SFQOFbUHJcvMXYdMzhe426d7GiHzFVIfdU16yJz47/xHDmaM+VVJQCOF68rrw
kyb2POxR4VXhPMfIleF2RiCopvDGSvQfUE3jhQjKBgZE2NeFeI/5N6JcWbZgFJ/J
4ez3DcjSD1Oeoz6gzaq1QybCku4EZTvPa6Kbb5/84JNKmVdb/JowGF0L18bwTbGv
y5D5HN3zTdmBXwsiDnTNDtuwaSejvIDTN1k4AkdQ9mLMIMT+13NHLBs1rDE2JnlG
3xhXrIvwhUBdE1A4uFj8duzk11EWzNI+ltJBRnG8uEzAJxpv5Khiwmj2GciS6s5r
wp1YUIUA0BhrEgrtoTdE7x13lXkDrmydcJ5kA0kArJFQALliE7kivyg1gtrcNRj1
7fDRAb9QOxaJrrsJzM9f9pDaIttHRjRvurFtikD90oaRE1g+6ygeScmYJDPhPjvU
R6PxzvsMCn8kJFWq2ARg
=Ubmu
-----END PGP SIGNATURE-----
Merge tag 'v0.18.11'
2014-05-12 18:38:45 +02:00
Max Kellermann
8bfdb4ed0c
release v0.18.11
2014-05-12 18:20:26 +02:00
Max Kellermann
70bd35abe2
decoder/OggUtil: allow skipping up to 32 kB after seek
...
Fixes missing song length on high-latency Opus files.
According to tests with 320 kbit/s opus files with 60ms packets, we
need to skip up to 29 kB.
2014-04-29 11:56:05 +02:00
Max Kellermann
bc2a1160b8
db/Count: implement grouping
2014-04-27 22:27:43 +02:00
Max Kellermann
0efb67b51e
DeferredMonitor: fix race condition when using GLib event loop
...
Turns out the lock-free code using atomics was not thread-safe. The
given callback could be invoked by GLib before the source_id attribute
was assigned. This commit changes the DeferredMonitor class to use a
Mutex to block the event loop until source_id is assigned. This bug
does not exist in the 0.19 branch because it does not use the GLib
main loop anymore.
2014-04-26 22:11:23 +02:00
Max Kellermann
54ebf2a699
configure.ac: prepare for 0.18.11
2014-04-26 22:08:08 +02:00
Max Kellermann
ae178c77bd
DatabaseCommands: "list" allows grouping
2014-04-24 11:38:49 +02:00
Max Kellermann
27002ad1ea
db/Helpers: "list" on album artist falls back to the artist tag
2014-04-24 10:48:52 +02:00
Max Kellermann
1c02b4b9f4
release v0.18.10
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJTRoKFAAoJECNuiljG20UScmgP/3bXQLBVqnGdMEzJio9qfTqz
inqbuaR8FrOSQFT5ULpYYipcjiqxCpG2ooE2M083F3wXDHF8u+j0S84NEvHQjv0T
WvA5EOOeEJS0o0gREZb8onO8NVwH+f1r4x34PAc4QbSeROiAiJRPmfTOZBDTaQkZ
Fy4CGte9UqLvUG10Jxpn1DgcBBeoge9Ruzm+drBLHh53lAfKZH6z9u23htNc4PH0
WMN3/orL7KZNxMtX37zqQDhkbPv2RjCWc0JJ8yxBzw3r/qG53GkmCBsStub6wKIi
iPgkoKXii+FAlg1oRmvVNELmOUDjhnBj8+g7q6WgJGpYqdcSCQBRIBnPPRn6Tfw3
wS7MtGoH7M4yihOfeburIzN0JiD4dtcnA7CrA9ghWt3C0Hci9Q/eni7xHgAuJ7Gp
fD0aEGeaQiQZC8r1UYkgvPuc+CXpsjPcpoN2TlYwDJ3VPQcikHVqTUkJxf5rEGbL
h5K0jhW/TzgT0quozd50w52X/n5J76X8oEng08271OPMlF+6gawGA2/AeDsomRTp
n8OPVutpyaGE3gKGYLGKj3cEnP15tQyt3U0kiU+ccG7osEPXr8JU/A4fipqcrwnN
lwejiIKzfZBU68kwS+gtQLiBncT3oh5tEiLJNzYYpPCF0wkDYt2u/rhRxnVjRoXO
5B9PRaOPuJ5N+6O2hGNS
=qsUE
-----END PGP SIGNATURE-----
Merge tag 'release-0.18.10'
2014-04-10 13:49:20 +02:00
Max Kellermann
d0119548c1
release v0.18.10
2014-04-10 13:36:38 +02:00
Marcello Desantis
95ac6071b9
decoder/sndfile: work around libsndfile bug on partial read
2014-04-09 23:58:56 +02:00
Weng Xuetian
3a4e667078
PlaylistEdit: don't interrupt playback when current song gets deleted
2014-04-09 23:10:14 +02:00
Max Kellermann
ce18c36ed9
decoder/ffmpeg: handle unknown stream start time
2014-03-18 09:16:09 +01:00
Max Kellermann
8e39cf62e7
decoder/ffmpeg: pass AVSEEK_FLAG_ANY to av_seek_frame()
...
This corrects a major mistake from commit 724a59aa
- there was one
small thing that commit was supposed to do, and it failed.
AV_TIME_BASE is not a seek flag.
2014-03-18 09:10:36 +01:00
Max Kellermann
707d379b97
input/mms: move blocking I/O to thread
2014-03-16 11:48:46 +01:00
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
a9e351e00d
decoder/gme: fix memory leak in container_scan()
2014-03-06 13:12:39 +01:00
Max Kellermann
d65841a2db
configure.ac: prepare for 0.18.10
2014-03-06 13:08:30 +01: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
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
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
96afa8bd2b
command: add command "listfiles"
...
Lists files and directories. Supports storage plugins.
2014-03-01 06:25:57 +01:00
Max Kellermann
d34ae0850c
AllCommands: "findadd" requires the "add" permission
2014-02-27 23:08:22 +01:00
Max Kellermann
681e012fb5
db/update: cancel the update on shutdown
2014-02-27 16:58:35 +01:00
Max Kellermann
4dcf0b8ae0
first Android release
...
Finally, MPD runs on Android. For some small value of "runs". Very
much work left, too much to describe.
2014-02-22 01:39:08 +01:00
Max Kellermann
c32477a223
Merge branch 'v0.18.x'
2014-02-18 21:46:41 +01:00
Max Kellermann
5e1e92626c
event/SignalMonitor: unblock signals after fork
...
Fixes hanging child process in the "pipe" output plugin.
2014-02-18 19:13:50 +01:00
Max Kellermann
7fee85c80a
configure.ac: fix linker failure when libvorbis/libogg are static
...
Link libvorbisfile first, followed to libvorbis and finally libogg.
This order is necessary because libvorbisfile depends on libvorbis.
2014-02-18 18:39:19 +01:00
Max Kellermann
5d87a274a5
configure.ac: link the Vorbis encoder with libogg
...
Fixes another linker failure. Similar to commit ea406875
2014-02-17 19:42:38 +01:00
Max Kellermann
9e02b13ab3
systemd: add socket activation files
2014-02-12 21:22:36 +01:00
Max Kellermann
57e862712a
configure.ac: prepare for 0.18.9
2014-02-09 22:58:14 +01:00
Max Kellermann
570b12ec13
Idle: error out when unrecognized idle event was specified
...
Implements the error checks missing in commit 0bad8406
2014-02-09 08:07:48 +01:00
Max Kellermann
b3663b5da2
storage/nfs: new storage plugin
2014-02-08 14:24:47 +01:00
Max Kellermann
3fdc678aae
Main: support arbitrary storage plugins
2014-02-08 00:04:29 +01:00
Max Kellermann
5e4dd4be9c
Main: allow playlist directory without music directory
2014-02-07 22:39:17 +01:00
Max Kellermann
04d5896c1c
NEWS: mention default soundcloud API key
...
Missing from commit 48c96bba
2014-02-07 22:38:04 +01:00
Max Kellermann
746a47982b
release v0.18.8
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJS9BY7AAoJECNuiljG20USFXcP/1JX3QXdVNxOZdoLvsD7MqmP
Qg9ra1c+9HdD7e2FjTFzSw02USIOrp+l/e3qPn3V0CsD+ZHoCH3lt/zLGaooYbVy
+3gsCNPyW0KTfdmaemFrtQk7sk9lAzuCO+t4jESFQxPmGeUKZRDUtjSMJJsiBKTe
oFiJ6VgkLHmUFb+mAHSmmDQEuZzyW59Qx9ptIAoHIRzBvhIYhAW/X86172XcxZIB
61jmRlebpIrmxi6ft6GFPHjxwD6Od5au7jhQOgI+SqIgkg4KjKotV2ggIcRcYnSs
IenloxdACKNd0yGuyHLOvXJLE5HAUl8GxkLF0QMDx2OH8CjQ+dEo9Kcclj2P6mba
pNVex3LHOtv/Bw5K0OJayxqz4d//rsqs4r2SOBDO4heFGNeNN/nbAiyBrNvkMDKP
VeeIfJBd/aI8M9NRbEMJ3KbuqO6CATR9F3hVsrzocaAJfvixET0uHoqZeunFrpcp
TVHEHavx1eIC0e7LaqIL7lWrhElb6ci1fypCYuau+ZNz6irOnPRA5CY9Zk2XWhSN
pxS+XQRRjHrDYbYjk3YNqCno4lWzFPGSoKkufG4a3Q8jKb/RA3zAKhwlwZXFPfun
PgLIl5XhK3BWl2Dv7t0jMxzqgLiIOMwL0l71AZNaRRl3OYfiYda3lrBK390ByQOG
64R+be+RxotfsyPvfwQF
=Arwc
-----END PGP SIGNATURE-----
Merge tag 'release-0.18.8'
2014-02-07 00:17:36 +01:00
Max Kellermann
ddb5390d88
release v0.18.8
2014-02-07 00:06:31 +01:00
Max Kellermann
fce20e514e
NEWS: fix 0.18.7 release year
2014-02-07 00:06:31 +01:00
Max Kellermann
af66ed2505
doc/user: document the RoarAudio output plugin
2014-02-06 21:46:29 +01:00
Max Kellermann
ea4068757d
configure.ac: link the Vorbis encoder with libvorbis
...
Since the encoder plugin uses a libvorbis function (and not only
libvorbisenc functions), we need to link with libvorbis explicitly.
2014-02-06 21:32:50 +01:00
Max Kellermann
e4322a716c
input/nfs: new plugin using libnfs
2014-02-06 18:37:27 +01:00
Max Kellermann
b9c248e7e7
PlaylistFile: use class SongLoader
2014-02-03 23:50:19 +01:00
Max Kellermann
a31738f6f1
Main, OutputThread: increase kernel timer slack (Linux)
...
Allows the kernel to combine timer wakeups with other processes,
reducing power usage.
2014-01-30 18:43:40 +01:00
Max Kellermann
39a2867ea8
NEWS: mention thread names
2014-01-30 18:43:16 +01:00
Max Kellermann
468c3df82d
NEWS: add "threads" section
2014-01-30 18:43:03 +01:00
Max Kellermann
30fadaed7f
Merge branch 'v0.18.x'
2014-01-27 10:33:42 +01:00
Max Kellermann
2b10ecfa37
IcyMetadataParser: more robust tag parser
...
Allow semicolons and single quotes in the stream title. This is not
part of any specification, but found in real life.
2014-01-27 10:08:21 +01:00
Max Kellermann
5c4a42caa0
neighbor: new subsystem to detect file servers on the local network
...
This commit adds the NeighborPlugin API which can be used to detect
nearby file servers that can be used by input plugins. This list of
servers is exported using the new "listneighbors" command. The idle
even "neighbor" notifies interested clients when a new neighbor is
found or an existing one is lost.
There's a lot missing currently: protocol&user documentation, and a
way to "mount" remote servers into the music database. Obviously,
some code from the UPnP database plugin can be moved to a neighbor
plugin.
2014-01-26 00:10:05 +01:00
Max Kellermann
a6d9998e1d
db/proxy: copy "Last-Modified" from remote directories
2014-01-22 23:07:21 +01:00
Max Kellermann
2f51285349
Merge branch 'v0.18.x'
2014-01-20 09:05:36 +01:00
Max Kellermann
ab9c9068d4
Queue: rename struct queue to Queue
...
Works around a build failure on Solaris because annoyingly, Solaris
reserves the name "queue". This rename was pending anyway.
2014-01-20 08:57:46 +01:00
Max Kellermann
5fb72d7c8f
Merge branch 'v0.18.x'
2014-01-15 11:47:49 +01:00
Max Kellermann
313d1d5d83
decoder/ffmpeg: support libav v10_alpha1
2014-01-15 11:33:18 +01:00
Max Kellermann
f882434547
configure.ac: prepare for 0.18.8
2014-01-15 11:22:06 +01:00
Max Kellermann
4734af747b
OutputThread: use real-time priority
2014-01-14 09:59:04 +01:00
Max Kellermann
5d17731b73
UpdateGlue: let the update thread run at "idle" priority
...
The update thread should not affect the rest of the system, therefore
set "idle" priority, and let it only run when nobody else is using the
resources.
2014-01-14 09:09:52 +01:00
Max Kellermann
8cd15a02cd
release v0.18.7
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJS08NxAAoJECNuiljG20USYMYP/06XGbNmMoNy00DMMPVMGgfi
yvsBAM1kXTgh4/vE5LOZRJoXW8HY/p284TnTbjZWW/56c2RFbJblp4Bya28WtZTU
kAVpYD/8ClAHjZjVpZyvKq3G/U3IsM/EP3to8UnVRfoPRSr9LrOiT03TXnpWW5eO
CgrYqRwEf/XuqftmX/KarVEN/IRB1SxhZkcKLfagyW0nuulSwq5aR8tgR0wSu4qf
Yt+e1NQ2N3hJqINdV0Yb+wb2WAWK7jA6T5zw3ukalIp77/EnwvxD7VhnDKA4E4/8
6Y6MtkDb1KjweFXqRlMScEEZ7Xtvfa8fDkbXGV09jpcKBtN+M59L4+VP5ZC1d8bZ
VDoHOqIwpLsszdhP8/LidYgjkPf3tTjY9jCYmF15cu/E6PIHlrhcc1zD1yOps8bm
DFGFqjcct2hkCqovYFSnZGwHwfcOp/KjSVkoALxcmcw3KZDAuo8zhtH65O14UYdb
LGwotGQOnjDrWyd+Mt6eNyVY65GWuzNYazuCVsDcJqGM66sXIsfXgGKpOtTByAGU
0fYCq6apreGKhNXHoYeNwD5OhbffXWobA8nSWJhyeUu0FGMyNDbX/OET/5d2SCr1
Tm2+DVcBiNxgd4Bc6ddHgzsIem4LzS8VZx07VAwONP5oD4+eCj9wcx5S+0VrKNr9
kld5H4FLAb5fJfcRvKLm
=XVhH
-----END PGP SIGNATURE-----
Merge tag 'release-0.18.7'
2014-01-13 11:52:35 +01:00
Max Kellermann
05ad335ae9
release v0.18.7
2014-01-13 11:39:27 +01:00
Andrée Ekroth
ea771c17c5
Shine encoding plugin
...
This encoding plugin features a fixed-point mp3 encoder,
with faster encoding on architectures without a FPU.
Right now the encoder is limited to stereo and 16 bit depth.
The bitrate and sample rate can be modified in audio_output.
audio_output {
type "httpd"
name "My shine stream"
encoder "shine"
port "8000"
format "44100:16:2"
bitrate "320" # default: 128
}
2014-01-13 11:14:19 +01:00
Max Kellermann
7faeb2ff2b
configure.ac: reject libmpcdec SV7 in configure script
...
Look for symbol "mpc_demux_init" which does not exist in SV7. This
avoids build failures when SV7 was found by configure.ac.
2014-01-11 21:02:12 +01:00
Max Kellermann
71d012fa61
db/proxy: forward "idle" events
...
Send "idle" to the other MPD whenever there's nothing else to do and
forward incoming "idle database" events to all our MPD clients.
2014-01-11 01:11:19 +01:00
Jean-Francois Dockes
406452f019
UPnP database plugin
...
[mk: renamed source files, applied coding style, reduced bloat, using
MPD's threading library, using MPD's error reporting and logging
library and refactoring, fixed lots of bugs]
2014-01-09 20:56:00 +01:00
Max Kellermann
139122c57f
Merge branch 'v0.18.x'
2014-01-08 22:14:12 +01:00
Max Kellermann
fdd76b3461
decoder/faad: fix memory leak
2014-01-08 22:11:00 +01:00
Max Kellermann
e490e5d0ab
playlist/pls: don't free stack buffer
2014-01-08 19:50:44 +01:00
James McGlashan (DarkFox)
d4dea53ae9
http -> https for SoundCloud plugin
2014-01-02 12:29:45 +01:00
Max Kellermann
809b0eb1f5
command: "lsinfo" and "readcomments" allowed for remote files
2013-12-29 18:25:32 +01:00
Max Kellermann
b5f3bfce92
SongUpdate: read tags from songs in an archive
...
Add the TagStream.cxx library, similar to TagFile.cxx, and use it to
load tags from song files inside archives.
2013-12-29 18:15:30 +01:00
Max Kellermann
92a4bf4441
Merge branch 'v0.18.x'
2013-12-29 14:18:19 +01:00
Max Kellermann
d7f80eab68
configure.ac: improved check for libyajl 1.0
...
If we have libyajl 2.0.1 (without a pkg-config file), our configure.ac
would assume this is the libyajl 1.0 API, because the function
yajl_alloc() exists in both. This commit changes the library check to
the function yajl_parse_complete() which was removed in the 2.0 API.
This fixes build failure with libyajl 2.0.1.
2013-12-29 14:12:33 +01:00
Max Kellermann
e30b356eb0
daemon: no initgroups() when already running as the configured user
...
We can assume that initgroups() would be a no-op in that case, however
initgroups() is not allowed for unprivileged users anyway.
2013-12-29 13:59:05 +01:00
Max Kellermann
6a1b2f0387
configure.ac: prepare for 0.18.7
2013-12-29 10:40:59 +01:00
Max Kellermann
5465647c2e
input/smbclient: new input plugin
2013-12-29 01:25:27 +01:00
Max Kellermann
afcf0795c4
pcm/Volume: improved dithering
...
Instead of just adding a rectangular random value before shifting back
to the normal scale, use the existing PcmDither library.
2013-12-28 18:30:24 +01:00
Max Kellermann
64e898f6db
release v0.18.6
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.15 (GNU/Linux)
iQIcBAABAgAGBQJSuWnsAAoJECNuiljG20US3qwP/0WGxzRFU2/dLzX6KG5/n+8R
LqVeX7Ap7vLncA2UQQ2BiddPtF0u9lJOnex64pYCkwwpr4JBmkBa6kTKVGbbXDv5
/tuHeUJk/aWhBJ8Qz/rxmNFBW6tNGlhf+7FVt8vHQqvHn7tWWKRlsQNk6Pd4gGM/
UiMyuA8EtfTJZACPRRZK26H7g7EKIjsGt6vwiuWAh3MxGHWL5R2chuP5Mapi1U4U
Qa1YOUAHlChRxGT+LmNMyKlgq+mqltbKQj+pOLPFuT6Q6BqgZp2Ept5Svod/JamC
yCFRGWYsmRxZ0ZOhtRZACfm/yNzyIhkkvgW8FqM6tINOPrwL2MwAJVMVH3DZM7Aj
/8ltz0OH2s9x9sUfOtxQkK/3bJpBwaDnl+dFQtGIFwigvYLR2Jv2Bl1zQO6+zICu
bdbJS+IcOrElxTnxfir0CVEDysifUQ7/ZSQkwDqpF+RI8E07ZMZZLmXk3S2yX6Fx
6dCwdfIsBAotF7RYsdn4cmRaSEx6Ze+aQr0l5yLh+5sKPEdDRSMrBEnCgPGU94ub
VNl3Cp3dtq5kuSfJ90Mk0QzwVd/kCdKZKBMcTX2zv38NLcX0LCSylM4K9yCi+GR2
gvgAJq9cmbmTEN3+grVdApNx0sqNFrD6pB27KhUKWD0VYypPu7yPPptkOWzSldbz
8JGa8lryMbRmgiXVyivp
=Z823
-----END PGP SIGNATURE-----
Merge tag 'release-0.18.6'
2013-12-24 12:20:24 +01:00
Max Kellermann
fb34519b96
release v0.18.6
2013-12-24 12:01:01 +01:00
Max Kellermann
c05691b546
OutputControl: update both ReplayGainFilters
...
The "mode" of the second ReplayGainFilter was never set, and thus
replay gain was never applied to the new song during cross-fade.
2013-12-24 11:53:21 +01:00
Steven O'Brien
6b3b8c6f2e
fix FfmpegDecoderPlugin to use relative timestamps
2013-12-20 22:28:33 +01:00
Steven O'Brien
35f85ddd86
add draft ALSA input plugin
...
I've created an elementary input plugin that plays sound from the
soundcard, so you can use MPD to listen to anything connected to the
line-in jack, or to Video4Linux FM radio cards that send audio through
the soundcard. There has been a small number of posts here in the
past requesting line-in input, so here is a first, simplistic stab at
it.
The patch adds a new sheme, alsa://, which causes mpd to play data
read directly from a souncdard. It defaults to hw:0,0, but you can
pass any ALSA device name in the URI. So, using mpc for example:
mpc add alsa://
mpc play
will play from device hw:0,0.
To use a diffferent device:
mpc add alsa://hw:1,0
2013-12-19 23:25:50 +01:00
Michal Smucr
e4d69f38b0
riff: recognize upper-case "ID3" chunk name
...
Some tagging libraries (eg. TagLib) produce that variant.
2013-12-19 09:35:54 +01:00