aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
| * DecoderThread: clear the pipe when handling late SEEKMax Kellermann2014-09-071-1/+11
| | | | | | | | | | See code comment. Fixes assertion failure in decoder_command_finished().
| * decoder/audiofile: fix crash after seekingMax Kellermann2014-09-061-1/+1
| | | | | | | | | | | | Log call was added to the wrong branch. Fixes regression by commit ca1a1149
| * protocol/ArgParser: fix integer overflow in parse_range()Max Kellermann2014-09-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Casting std::numeric_limits<unsigned>::max() to "long" leads to an overflow if sizeof(unsigned)==sizeof(long), and the result will be -1. This happens on some 32 bit architectures, for example ARM and WIN32. Workaround: use std::numeric_limits<int>::max(), which is the largest signed integer. Since sizeof(long)>=sizeof(int), this will never overflow. Fixes Mantis ticket 0004080.
* | output/pulse: simplify _wait_for_operation()Max Kellermann2014-09-051-6/+3
| | | | | | | | Eliminate the duplicate pa_operation_get_state() call.
* | input/nfs: auto-reconnect if failed while pausedMax Kellermann2014-09-021-1/+46
| |
* | input/async: add method IsPaused()Max Kellermann2014-09-021-0/+4
| |
* | nfs/Connection: check for disappearing libnfs socketMax Kellermann2014-08-311-0/+18
| |
* | nfs/Connection: use only BroadcastError()Max Kellermann2014-08-311-4/+1
| | | | | | | | | | Since BroadcastError() calls BroadcastMountError(), there's no need to check mount_finished here.
* | nfs/Connection: nfs_get_fd() can return -1Max Kellermann2014-08-311-0/+3
| | | | | | | | | | While reconnecting to the NFS server, the socket is -1, because there is no socket. Fixes a potential crash (assertion failure).
* | input/nfs: notify client on errorMax Kellermann2014-08-311-0/+2
| | | | | | | | Fixes hanging NFS client.
* | nfs/Connection: use nfs_get_error() for mount errorMax Kellermann2014-08-311-2/+3
| |
* | nfs/Connection: fix assertion failureMax Kellermann2014-08-311-1/+3
| |
* | output/alsa, pcm: rename "DSD over USB" to "DoP"Max Kellermann2014-08-315-50/+50
| | | | | | | | | | The standard has been renamed since the early draft that was implemented in MPD.
* | Merge tag 'v0.18.13'Max Kellermann2014-08-314-9/+39
|\|
| * PlaylistControl: use SeekSongOrder(current) to keep current songMax Kellermann2014-08-311-1/+1
| | | | | | | | | | | | The "current" attribute is a "song order", not a "song position". This is usually the same - except in random mode. Fixes Mantis ticket 0004073.
| * PlaylistControl: move code to new method SeekSongOrder()Max Kellermann2014-08-312-7/+19
| |
| * output/alsa: fix endless loop at end of file in dsd_usb modeMax Kellermann2014-08-311-0/+9
| |
| * output/{alsa,oss}: add assertionsMax Kellermann2014-08-312-0/+6
| |
| * decoder/gme: fix song durationMax Kellermann2014-08-291-1/+1
| | | | | | | | The unit of gme_info_t::length is milliseconds, not centiseconds.
* | DecoderAPI: use std::min()Max Kellermann2014-08-311-3/+1
| |
* | MusicChunk: remove special case for num_frames==0Max Kellermann2014-08-312-6/+1
| | | | | | | | Simply return an empty WritableBuffer, not a nulled one.
* | MusicChunk: copy AudioFormat only when chunk is emptyMax Kellermann2014-08-311-4/+4
| |
* | PlaylistMapper: pass the Storage::MapUTF() result to playlist_open_remote()Max Kellermann2014-08-301-1/+1
| | | | | | | | | | Finally allows loading playlist files on a storage plugin. Commit 297e2747 attempted to implement this, but failed due to this bug.
* | decoder/sndfile: refactor frame_to_time()Max Kellermann2014-08-301-8/+6
| |
* | *: add missing Compiler.h includesMax Kellermann2014-08-3021-0/+21
| | | | | | | | Necessary for "final" on gcc 4.6.
* | Chrono: workaround for gcc 4.6 constexpr problemsMax Kellermann2014-08-301-4/+15
| |
* | PlayerControl: make settings "const"Max Kellermann2014-08-301-2/+2
| |
* | PlayerControl: update include guardMax Kellermann2014-08-301-2/+2
| |
* | output/alsa: fix signed/unsigned comparison warningMax Kellermann2014-08-301-1/+1
| |
* | db/simple: fix build failure without zlibMax Kellermann2014-08-301-1/+4
| |
* | ArgParser: allow fractional seconds in ParseCommandArg(SongTime)Max Kellermann2014-08-291-4/+4
| |
* | CrossFade: pass total_time as SignedSongTime instanceMax Kellermann2014-08-293-4/+7
| |
* | db/Stats: use std::chrono::duration for the total durationMax Kellermann2014-08-294-6/+11
| | | | | | | | Use milliseconds precision to reduce rounding errors.
* | db/upnp: use DatabaseStats::Clear()Max Kellermann2014-08-291-4/+1
| |
* | db/Count: use std::chrono::duration for the total timeMax Kellermann2014-08-291-6/+9
| | | | | | | | Use milliseconds precision to reduce rounding errors.
* | TagHandler: pass SongTime to duration()Max Kellermann2014-08-2922-66/+81
| |
* | DecoderAPI: pass SignedSongTime to decoder_initialized()Max Kellermann2014-08-2925-130/+157
| |
* | Chrono: add methods FromScale()Max Kellermann2014-08-291-0/+24
| |
* | Chrono: rename ToScale() parameterMax Kellermann2014-08-291-4/+4
| |
* | decoder/faad: bit_rate==0 is an errorMax Kellermann2014-08-291-4/+4
| |
* | MusicChunk: use SignedSongTime for the time stampMax Kellermann2014-08-295-10/+12
| |
* | MultipleOutputs: use SignedSongTime for elapsed_timeMax Kellermann2014-08-293-10/+11
| |
* | PlayerThread: use SongTime for elapsed_timeMax Kellermann2014-08-295-17/+17
| |
* | PlayerControl: use SignedSongTime for the song durationMax Kellermann2014-08-293-14/+16
| |
* | DecoderControl: use SignedSongTime for the song durationMax Kellermann2014-08-293-4/+6
| |
* | Tag: use SignedSongTime for the song durationMax Kellermann2014-08-2924-82/+98
| |
* | Chrono: convert SongTime to SignedSongTime implicitlyMax Kellermann2014-08-291-0/+5
| |
* | Chrono: add SignedSongTime::FromS(unsigned)Max Kellermann2014-08-291-0/+4
| |
* | Chrono: add methods ToS(), RoundS()Max Kellermann2014-08-291-0/+16
| |
* | Chrono: add method SignedSongTime::Negative()Max Kellermann2014-08-291-0/+7
| |