Max Kellermann
975e275030
fs/Charset: change FixSeparators() API to use std::string&&
2015-02-08 17:52:01 +00:00
Max Kellermann
afcd5670e3
Listen: remove C-style "void"
2015-02-07 12:15:10 +00:00
Max Kellermann
ff2b427cc1
release v0.19.9
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQIcBAABCAAGBQJU1OdDAAoJECNuiljG20USazsQAKZuhjJJ8vjYCB7G/NGoi9tv
dImBQnQDiQTdE57kxa46loknbPc5/cSAYnLbR4PjQfMBqArtE6sAkAk72LKlYNqt
qMOEKPCBjv8ZjiGDbvL/X+WSKbrpm8iOf3Gu5BRIuWrMK/oXQMe5A028Ziyye//X
XfMKdPWkZFL6h/qGO082eCnCiTJaSRLwP6HSNF2pqv+JuFF7hyLkZvTVXo/ms85E
ezrx3Kjf8TuNX041uuso7qqUsD/sY2jZRZ26qfzJ1ODwJmgIfbXzat+ODFVNne55
E1nh5zpwIUxZ2+d6eJEzwLR3+FpmltPc1YLo2mnetD6f59SzpXjAycPLo1VoOhbQ
s4iXQEzNI2LwDebI3eiMXQaLIorHOGex3L6JYkO5LAqUkPrv/PBCJFJs8ixjCRbl
KL27WmWYiV0xfdCz4TtAxEt48LGMMjDfaSK4Hzo3vN3vZtIEy2p/pS9MhXDdxC8I
vql533N+A9fi2I+7bPauwX5ElOYvGTkDeKqKXDox/jR0zio55APst7IW9OIUCKxo
an98430jeNPhs1CNqxVIJNciC8Q4REmafki7UQiKYDBQjHyq3r6Bp547lnDhUtii
P9PNTyOoJXhV5yEP3upnWCxwH6Vy7IxBnwrEO7aEHs88Ea54iqlZ9XB8TzUw4G/1
I7T7a8yOopRopb04vhr2
=fd8f
-----END PGP SIGNATURE-----
Merge tag 'v0.19.9'
2015-02-06 17:15:31 +01:00
Max Kellermann
d38034bb5c
fs/io/FileOutputStream: don't auto-delete file on WIN32
...
The file handle is never reset to INVALID_HANDLE_VALUE, and thus the
destructor will assume the operation shall be cancelled and will
delete the temporary file.
This was a major breakage for saving the database file and the state
file.
2015-02-06 14:36:55 +01:00
Max Kellermann
a62fe30546
SongPrint: let CPP concatenate string literals
2015-02-06 13:06:38 +01:00
Max Kellermann
b3fe3e8b3d
TagBuilder: allow adding duplicate tag types in Complement()
...
Build a table of pre-existing tag types before adding new items. The
old way would check HasType() each time, which would return true after
the first instance of that tag type had been added, preventing
duplicate tag types to be merged.
This broke duplicate tag types loaded from the state file, because
this code path uses TagBuilder::Complement().
2015-02-06 12:25:34 +01:00
Max Kellermann
25ebb427da
tag/Rva2: convert pointers to references
2015-02-04 15:57:32 +01:00
Max Kellermann
c5bde10b4f
tag/Rva2: rename struct rva2_data to CamelCase
2015-02-04 15:56:59 +01:00
Max Kellermann
e582e893cc
tag/Rva2: make enum rva2_channel strictly-typed
2015-02-04 15:56:01 +01:00
Max Kellermann
833ec3d3cd
lib/upnp/Discovery: remove locking from ExpireDevices()
2015-02-03 23:48:11 +01:00
Max Kellermann
3d446d3266
lib/upnp/Discovery: apply naming convention
2015-02-02 21:12:19 +00:00
Max Kellermann
e660229c40
output/sles: use AudioOutputWrapper::Create()
2015-02-01 22:24:19 +01:00
Max Kellermann
ee6e0e16cb
DecoderThread: make variables more local
2015-01-31 22:20:38 +01:00
Max Kellermann
eb1733609a
decoder/sndfile, ...: update API documentation
2015-01-31 22:17:15 +01:00
Max Kellermann
e2e66404d5
decoder/DsdLib: fix integer overflow in ID3 size calculation
2015-01-30 23:22:49 +01:00
Max Kellermann
3ecb19d0f1
decoder/DsdLib: check size before seeking
2015-01-30 23:19:26 +01:00
Max Kellermann
fd02c87fa2
decoder/DsdLib: don't use InputStream::GetOffset() after seeking
...
We already know the offset.
2015-01-30 23:00:22 +01:00
Max Kellermann
63ac81c8f5
decoder/DsdLib: pass offset_type t dsdlib_tag_id3()
2015-01-30 22:47:43 +01:00
Max Kellermann
557bee61d5
Merge branch 'v0.19.x'
2015-01-29 22:55:18 +01:00
Max Kellermann
3adca3c2fa
db/update/Walk: use std::unique_ptr instead of std::auto_ptr
...
std::auto_ptr is deprecated, and std::unique_ptr is much better
anyway.
2015-01-29 08:37:23 +01:00
PHO
39abd3ecb4
Avoid integer overflow in MonotonicClock{S,MS,US}
...
This is Darwin specific: the previous implementation was causing an integer
overflow when base.numer is very large. On PPC Darwin, the timebase info is 1000000000/33330116 and this is too large for integer arithmetic.
2015-01-29 08:34:37 +01:00
Max Kellermann
7bf638b0de
decoder/DsdLib: use new[] to allocate the ID3 buffer
...
Don't abort the process if there's not enough memory. This buffer is
not important and can be large.
2015-01-29 08:24:34 +01:00
Max Kellermann
56662a703c
decoder/DsdLib: free ID3 buffer right after id3_tag_parse()
...
Merge two free() calls.
2015-01-29 08:24:34 +01:00
Max Kellermann
8b5f47d3a3
decoder/DsdLib: raise ID3 tag limit to 1 MB
...
A bug report was submitted with a 600 kB ID3 tag that could not be
read by MPD.
2015-01-29 08:20:14 +01:00
Max Kellermann
8bfb88840b
output/fifo: use template AudioOutputWrapper
2015-01-28 19:43:37 +01:00
Max Kellermann
593bb5a8a7
StickerDatabase: convert the struct name to upper case
2015-01-28 19:33:56 +01:00
Max Kellermann
ae7e1a22cb
Merge branch 'v0.19.x'
2015-01-26 20:57:29 +01:00
Max Kellermann
a289dcb9ee
Merge branch 'v0.18.x' into v0.19.x
2015-01-26 20:48:19 +01:00
PHO
023b9c1e7e
Test the existence of strndup(3) before using it.
...
This can eliminate the ad-hoc "#ifdef WIN32" and can also support other platforms lacking it as well (including Darwin 9).
2015-01-26 20:39:49 +01:00
Max Kellermann
ad1b6ef0ac
{playlist,input}/despotify: remove defunct plugin
2015-01-26 09:55:31 +01:00
Max Kellermann
16944b5397
pcm/SoxrResampler: move quality recipe names to table
2015-01-25 10:01:50 +01:00
Max Kellermann
ed5c6be2f1
util/list: disable gcc5 warning
...
This file has been removed in newer MPD versions, so don't care about
it now.
2015-01-23 16:50:31 +01:00
Max Kellermann
30cb082932
ClientProcess: cast enum to int before passing to printf()
...
Fixes gcc5 warning.
2015-01-23 16:50:31 +01:00
Max Kellermann
72e44d596f
tag/Format: add %iso8601%
2015-01-22 19:10:15 +01:00
Max Kellermann
8f2ca8f085
ConfigFile: fix typo (parser breakage)
2015-01-22 19:08:09 +01:00
Max Kellermann
6725c2afa1
util/format: allow upper case, digits and underscore in names
2015-01-22 18:59:42 +01:00
Max Kellermann
e9d4b73cc3
util/format: move code to is_name_char()
2015-01-22 18:59:01 +01:00
Max Kellermann
929ec70512
queue/PlaylistState: remove unused macro
2015-01-22 18:44:30 +01:00
Max Kellermann
6cd5d73607
pcm/SoxrResampler: allow multi-threaded resampling
2015-01-22 11:37:18 +01:00
Max Kellermann
80a7e1ea7d
pcm/SoxrResampler: add a global soxr_runtime_spec_t variable
2015-01-22 11:37:09 +01:00
Max Kellermann
0d3b26b3aa
Config: add section "resampler"
2015-01-22 11:04:28 +01:00
Max Kellermann
e9b49a43e2
config/Block: add method IsEmpty()
2015-01-22 10:20:51 +01:00
Max Kellermann
4fa5538e2b
config/Param: split block-specific attributes to new struct ConfigBlock
...
The old struct config_param remains only for top-level string options.
2015-01-21 23:56:33 +01:00
Max Kellermann
84e74173de
config/File: move code to ReadConfigParam()
2015-01-21 23:51:04 +01:00
Max Kellermann
6cdb2a4896
fs/io/BufferedReader: count line numbers
...
Replaces the dirty code in config/ConfigFile.cxx.
2015-01-21 23:43:32 +01:00
Max Kellermann
d8bef3270d
config/File: use FileReader/BufferedReader instead of stdio
2015-01-21 23:36:57 +01:00
Max Kellermann
a33db8fe6f
config/Data: assign nullptr during iteration
2015-01-21 23:30:00 +01:00
Max Kellermann
1c3f5517fa
config/Option: convert to strictly-typed enum
2015-01-21 23:30:00 +01:00
Max Kellermann
10972da060
input/curl: work around format warning on WIN32
2015-01-21 23:30:00 +01:00
Max Kellermann
a38f02541d
config/Param: make "line" signed
2015-01-21 22:19:36 +01:00