release v0.19.7

-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQIcBAABAgAGBQJUkcmtAAoJECNuiljG20USLuwP/3MjssxpUkq6aN1beyNACWJ8
 Zgr/ibDjxYJY+UAHUOycnJQ8WNpgfXNSR4F5jQHznJdpemJCZCeBd2s5yelEdu0C
 SBjJ9FiKPeu8or5N34CPmRQDmDGHv0II4/ySmzlBhH4XRV5JF5li/j4KtAlOCqCT
 GNnlmgn05o+oX4Olpg/id6H7wvny+YDY3p33sJmi+djBnSbJyJNvk9NhAr9n4I7Q
 FfGHbTzRLSZKHa47zzXag30PBj2X8x7NOAcAX7/evQpw9Gud/8CwXKk21kp6L/fv
 RJnj4lLtkj8MRc+8vskZ9EXgYr3yC/cldP8Fw8qsY/t7d8UFUN8qFqpq9O8IPnga
 D4hNpq7VF9ZxMhQtxBiT3cRvjTXBp8J/B7p2YDuYHBhIZh8IPzjDCyF4CzlN/470
 3zTqq/aar93AeI/6MQlpQPBK1DGvrrHBVP3Mj7cCTbx61P7/1xEIxYntRIfJw449
 JRJDJKjdyOY4+Sqm3Agu3WiQlyOzZXmqM3E3FFeul4mUvcOKhfbZxjayYsGlfigA
 MHge1wif2aOe6IU334DUD5V0m61MMoefznEvWUdAZHtdvQox0ovDmwwFRizX2fGc
 rlUhoUOXWjjGbTI2VjXsBklzh8P+MxQ8OiJGw+V4DBI0XL+A2tpqISs9mpCVPwQ0
 T37uc6kdDB99noMuD2cw
 =+4Cz
 -----END PGP SIGNATURE-----

Merge tag 'v0.19.7'
This commit is contained in:
Max Kellermann 2014-12-17 19:27:59 +01:00
commit 8400da9934
6 changed files with 30 additions and 7 deletions

11
NEWS
View File

@ -18,7 +18,7 @@ ver 0.20 (not yet released)
* reset song priority on playback * reset song priority on playback
* remove dependency on GLib * remove dependency on GLib
ver 0.19.7 (not yet released) ver 0.19.7 (2014/12/17)
* input * input
- nfs: fix crash while canceling a failing file open operation - nfs: fix crash while canceling a failing file open operation
- nfs: fix memory leak on connection failure - nfs: fix memory leak on connection failure
@ -27,7 +27,10 @@ ver 0.19.7 (not yet released)
* storage * storage
- nfs: implement I/O timeout (60 seconds) - nfs: implement I/O timeout (60 seconds)
* playlist * playlist
- embcue: fix filename suffix detection
- don't skip non-existent songs in "listplaylist" - don't skip non-existent songs in "listplaylist"
* decoder
- ffmpeg: fix time stamp underflow
* fix memory allocator bug on Windows * fix memory allocator bug on Windows
ver 0.19.6 (2014/12/08) ver 0.19.6 (2014/12/08)
@ -178,6 +181,12 @@ ver 0.19 (2014/10/10)
* install systemd unit for socket activation * install systemd unit for socket activation
* Android port * Android port
ver 0.18.21 (2014/12/17)
* playlist
- embcue: fix filename suffix detection
* decoder
- ffmpeg: fix time stamp underflow
ver 0.18.20 (2014/12/08) ver 0.18.20 (2014/12/08)
* decoder * decoder
- ffmpeg: support FFmpeg 2.5 - ffmpeg: support FFmpeg 2.5

View File

@ -194,6 +194,12 @@ FileLog(const Domain &domain, const char *message)
domain.GetName(), domain.GetName(),
chomp_length(message), message); chomp_length(message), message);
#ifdef WIN32
/* force-flush the log file, because setvbuf() does not seem
to have an effect on WIN32 */
fflush(stderr);
#endif
#ifdef HAVE_GLIB #ifdef HAVE_GLIB
g_free(converted); g_free(converted);
#endif #endif

View File

@ -111,6 +111,9 @@ log_early_init(bool verbose)
#ifdef ANDROID #ifdef ANDROID
(void)verbose; (void)verbose;
#else #else
/* force stderr to be line-buffered */
setvbuf(stderr, nullptr, _IOLBF, 0);
if (verbose) if (verbose)
SetLogThreshold(LogLevel::DEBUG); SetLogThreshold(LogLevel::DEBUG);
#endif #endif

View File

@ -316,10 +316,13 @@ ffmpeg_send_packet(Decoder &decoder, InputStream &is,
AVFrame *frame, AVFrame *frame,
uint8_t **buffer, int *buffer_size) uint8_t **buffer, int *buffer_size)
{ {
if (packet->pts >= 0 && packet->pts != (int64_t)AV_NOPTS_VALUE) if (packet->pts >= 0 && packet->pts != (int64_t)AV_NOPTS_VALUE) {
decoder_timestamp(decoder, auto start = start_time_fallback(*stream);
time_from_ffmpeg(packet->pts - start_time_fallback(*stream), if (packet->pts >= start)
stream->time_base)); decoder_timestamp(decoder,
time_from_ffmpeg(packet->pts - start,
stream->time_base));
}
AVPacket packet2 = *packet; AVPacket packet2 = *packet;

View File

@ -178,7 +178,7 @@ const struct playlist_plugin embcue_playlist_plugin = {
embcue_playlist_open_uri, embcue_playlist_open_uri,
nullptr, nullptr,
nullptr,
embcue_playlist_suffixes, embcue_playlist_suffixes,
nullptr, nullptr,
nullptr,
}; };

View File

@ -71,7 +71,9 @@ static inline void *
HugeAllocate(size_t size) HugeAllocate(size_t size)
{ {
// TODO: use MEM_LARGE_PAGES // TODO: use MEM_LARGE_PAGES
return VirtualAlloc(nullptr, size, MEM_RESERVE, PAGE_READWRITE); return VirtualAlloc(nullptr, size,
MEM_COMMIT|MEM_RESERVE,
PAGE_READWRITE);
} }
static inline void static inline void