Merge tag 'v0.19.13'
release v0.19.13
This commit is contained in:
4
NEWS
4
NEWS
@@ -48,11 +48,13 @@ ver 0.20 (not yet released)
|
|||||||
* update
|
* update
|
||||||
- apply .mpdignore matches to subdirectories
|
- apply .mpdignore matches to subdirectories
|
||||||
|
|
||||||
ver 0.19.13 (not yet released)
|
ver 0.19.13 (2016/02/23)
|
||||||
* tags
|
* tags
|
||||||
- aiff, riff: fix ID3 chunk padding
|
- aiff, riff: fix ID3 chunk padding
|
||||||
* decoder
|
* decoder
|
||||||
- ffmpeg: support the TAK codec
|
- ffmpeg: support the TAK codec
|
||||||
|
* fix disappearing duration of remote songs during playback
|
||||||
|
* initialize supplementary groups with glibc 2.19+
|
||||||
|
|
||||||
ver 0.19.12 (2015/12/15)
|
ver 0.19.12 (2015/12/15)
|
||||||
* fix assertion failure on malformed UTF-8 tag
|
* fix assertion failure on malformed UTF-8 tag
|
||||||
|
@@ -229,6 +229,7 @@ if test x$host_is_linux = xyes; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
AC_CHECK_FUNCS(getpwnam_r getpwuid_r)
|
AC_CHECK_FUNCS(getpwnam_r getpwuid_r)
|
||||||
|
AC_CHECK_FUNCS(initgroups)
|
||||||
AC_CHECK_FUNCS(fnmatch)
|
AC_CHECK_FUNCS(fnmatch)
|
||||||
AC_CHECK_FUNCS(strndup)
|
AC_CHECK_FUNCS(strndup)
|
||||||
|
|
||||||
|
@@ -188,6 +188,14 @@ public:
|
|||||||
tag = std::move(other.tag);
|
tag = std::move(other.tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Similar to the MoveTagFrom(), but move only the #TagItem
|
||||||
|
* array.
|
||||||
|
*/
|
||||||
|
void MoveTagItemsFrom(DetachedSong &&other) {
|
||||||
|
tag.MoveItemsFrom(std::move(other.tag));
|
||||||
|
}
|
||||||
|
|
||||||
time_t GetLastModified() const {
|
time_t GetLastModified() const {
|
||||||
return mtime;
|
return mtime;
|
||||||
}
|
}
|
||||||
|
@@ -37,7 +37,7 @@ playlist::TagModified(DetachedSong &&song)
|
|||||||
|
|
||||||
DetachedSong ¤t_song = queue.GetOrder(current);
|
DetachedSong ¤t_song = queue.GetOrder(current);
|
||||||
if (song.IsSame(current_song))
|
if (song.IsSame(current_song))
|
||||||
current_song.MoveTagFrom(std::move(song));
|
current_song.MoveTagItemsFrom(std::move(song));
|
||||||
|
|
||||||
queue.ModifyAtOrder(current);
|
queue.ModifyAtOrder(current);
|
||||||
queue.IncrementVersion();
|
queue.IncrementVersion();
|
||||||
|
@@ -80,9 +80,17 @@ struct Tag {
|
|||||||
Tag &operator=(Tag &&other) {
|
Tag &operator=(Tag &&other) {
|
||||||
duration = other.duration;
|
duration = other.duration;
|
||||||
has_playlist = other.has_playlist;
|
has_playlist = other.has_playlist;
|
||||||
|
MoveItemsFrom(std::move(other));
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Similar to the move operator, but move only the #TagItem
|
||||||
|
* array.
|
||||||
|
*/
|
||||||
|
void MoveItemsFrom(Tag &&other) {
|
||||||
std::swap(items, other.items);
|
std::swap(items, other.items);
|
||||||
std::swap(num_items, other.num_items);
|
std::swap(num_items, other.num_items);
|
||||||
return *this;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -103,7 +103,7 @@ daemonize_set_user(void)
|
|||||||
(int)user_gid);
|
(int)user_gid);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _BSD_SOURCE
|
#ifdef HAVE_INITGROUPS
|
||||||
/* init supplementary groups
|
/* init supplementary groups
|
||||||
* (must be done before we change our uid)
|
* (must be done before we change our uid)
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user