Commit 8400da99 authored by Max Kellermann's avatar Max Kellermann

Merge tag 'v0.19.7'

parents ae8bdd47 6d89020f
...@@ -18,7 +18,7 @@ ver 0.20 (not yet released) ...@@ -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) ...@@ -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) ...@@ -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
......
...@@ -194,6 +194,12 @@ FileLog(const Domain &domain, const char *message) ...@@ -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
......
...@@ -111,6 +111,9 @@ log_early_init(bool verbose) ...@@ -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
......
...@@ -316,10 +316,13 @@ ffmpeg_send_packet(Decoder &decoder, InputStream &is, ...@@ -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) {
auto start = start_time_fallback(*stream);
if (packet->pts >= start)
decoder_timestamp(decoder, decoder_timestamp(decoder,
time_from_ffmpeg(packet->pts - start_time_fallback(*stream), time_from_ffmpeg(packet->pts - start,
stream->time_base)); stream->time_base));
}
AVPacket packet2 = *packet; AVPacket packet2 = *packet;
......
...@@ -178,7 +178,7 @@ const struct playlist_plugin embcue_playlist_plugin = { ...@@ -178,7 +178,7 @@ const struct playlist_plugin embcue_playlist_plugin = {
embcue_playlist_open_uri, embcue_playlist_open_uri,
nullptr, nullptr,
embcue_playlist_suffixes,
nullptr, nullptr,
embcue_playlist_suffixes,
nullptr, nullptr,
}; };
...@@ -71,7 +71,9 @@ static inline void * ...@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment