Merge branch 'v0.20.x'

This commit is contained in:
Max Kellermann 2017-04-24 11:44:27 +02:00
commit f6e428ac22
8 changed files with 12 additions and 9 deletions

4
NEWS
View File

@ -7,6 +7,10 @@ ver 0.21 (not yet released)
* output
- alsa: non-blocking mode
ver 0.20.7 (not yet released)
* database
- simple: fix false positive directory loop detection with NFS
ver 0.20.6 (2017/03/10)
* input
- curl: fix headers after HTTP redirect to Shoutcast server

View File

@ -4080,7 +4080,7 @@ run</programlisting>
(logical "and") can be used to select portions of
the format string depending on the existing tag
values. Example:
<parameter>~/.mpd/recorder/[%title|%name%].ogg</parameter>
<parameter>~/.mpd/recorder/[%title%|%name%].ogg</parameter>
(use the "name" tag if no title exists)
</para>
</entry>

View File

@ -36,8 +36,8 @@ flac = AutotoolsProject(
)
zlib = ZlibProject(
'http://zlib.net/zlib-1.2.8.tar.xz',
'28f1205d8dd2001f26fec1e8c2cebe37',
'http://zlib.net/zlib-1.2.11.tar.xz',
'4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066',
'lib/libz.a',
)

View File

@ -86,7 +86,7 @@ struct Directory {
Directory *const parent;
time_t mtime = 0;
unsigned inode = 0, device = 0;
uint64_t inode = 0, device = 0;
const std::string path;

View File

@ -43,7 +43,8 @@ FillBuffer(DecoderClient &client, InputStream &is, B &buffer)
{
buffer.Shift();
auto w = buffer.Write();
assert(!w.IsEmpty());
if (w.IsEmpty())
return true;
size_t nbytes = decoder_read(client, is, w.data, w.size);
if (nbytes == 0 && is.LockIsEOF())

View File

@ -287,8 +287,6 @@ roar_tag_convert(TagType type, bool *is_uuid)
case TAG_MUSICBRAINZ_ALBUMID:
case TAG_MUSICBRAINZ_ALBUMARTISTID:
case TAG_MUSICBRAINZ_TRACKID:
*is_uuid = true;
return "HASH";
case TAG_MUSICBRAINZ_RELEASETRACKID:
*is_uuid = true;
return "HASH";

View File

@ -50,7 +50,7 @@ struct StorageFileInfo {
* Device id and inode number. 0 means unknown / not
* applicable.
*/
unsigned device, inode;
uint64_t device, inode;
StorageFileInfo() = default;

View File

@ -45,7 +45,7 @@ public:
explicit ScopeExitGuard(F &&f):F(std::forward<F>(f)) {}
ScopeExitGuard(ScopeExitGuard &&src)
:F(std::move(src)) {
:F(std::move(src)), enabled(src.enabled) {
src.enabled = false;
}