mpd/src
Max Kellermann 436ba3c96c output/alsa: drain the whole ring_buffer, not just one period
This fixes a problem which caused a failure with snd_pcm_writei()
because snd_pcm_drain() had already been called in the previous
iteration.  This commit makes sure that snd_pcm_drain() is only called
after the final snd_pcm_writei() call.

This fixes discarded samples at the end of playback.
2018-11-14 13:35:17 +01:00
..
android *: copyright year 2018 2018-10-31 17:54:59 +01:00
archive *: copyright year 2018 2018-10-31 17:54:59 +01:00
AudioCompress audio_{parser,config}: convert to C++ 2013-01-30 21:47:12 +01:00
client *: copyright year 2018 2018-10-31 17:54:59 +01:00
command command/sticker: return ACK_ERROR_NO_EXIST for "no such sticker" 2018-10-31 19:19:07 +01:00
config *: copyright year 2018 2018-10-31 17:54:59 +01:00
db *: copyright year 2018 2018-10-31 17:54:59 +01:00
decoder decoder/ffmpeg: eliminate GetSampleFormat() 2018-11-04 22:36:17 +01:00
encoder *: copyright year 2018 2018-10-31 17:54:59 +01:00
event event/Thread: reduce the RTIO timer slack to 10us 2018-11-14 12:11:57 +01:00
filter *: copyright year 2018 2018-10-31 17:54:59 +01:00
fs *: copyright year 2018 2018-10-31 17:54:59 +01:00
haiku build with Meson instead of autotools 2018-10-14 23:41:38 +02:00
input {output,mixer}/alsa: use snd_pcm_poll_descriptors_revents() 2018-11-11 12:37:29 +01:00
java build with Meson instead of autotools 2018-10-14 23:41:38 +02:00
lib song/StringFilter: support regular expressions with "=~" and "!~" 2018-11-11 12:55:35 +01:00
mixer {output,mixer}/alsa: use snd_pcm_poll_descriptors_revents() 2018-11-11 12:37:29 +01:00
neighbor *: copyright year 2018 2018-10-31 17:54:59 +01:00
net net/IPv[46]Address: make the initializers more portable 2018-11-02 17:47:43 +01:00
output output/alsa: drain the whole ring_buffer, not just one period 2018-11-14 13:35:17 +01:00
pcm *: copyright year 2018 2018-10-31 17:54:59 +01:00
player output/Thread: update comment 2018-11-12 12:09:02 +01:00
playlist *: copyright year 2018 2018-10-31 17:54:59 +01:00
protocol *: copyright year 2018 2018-10-31 17:54:59 +01:00
queue *: copyright year 2018 2018-10-31 17:54:59 +01:00
song song/Filter: add operator "contains" 2018-11-12 12:49:01 +01:00
sticker *: copyright year 2018 2018-10-31 17:54:59 +01:00
storage *: copyright year 2018 2018-10-31 17:54:59 +01:00
system system/FileDescriptor: check __linux__ instead of __linux 2018-11-02 16:50:38 +01:00
tag *: copyright year 2018 2018-10-31 17:54:59 +01:00
thread *: copyright year 2018 2018-10-31 17:54:59 +01:00
unix *: copyright year 2018 2018-10-31 17:54:59 +01:00
util *: copyright year 2018 2018-10-31 17:54:59 +01:00
win32 *: copyright year 2018 2018-10-31 17:54:59 +01:00
zeroconf zeroconf/glue: add fallback value for HOST_NAME_MAX 2018-11-04 11:12:03 +01:00
AudioFormat.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
AudioFormat.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
AudioParser.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
AudioParser.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
BulkEdit.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
check.h check.h: remove obsolete ENABLE_LARGEFILE check 2018-11-05 21:25:59 +01:00
CheckAudioFormat.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
CheckAudioFormat.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Chrono.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
CommandLine.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
CommandLine.hxx Main: allocate ConfigData on the stack 2018-08-19 23:08:23 +02:00
GitVersion.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
GitVersion.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
IcyMetaDataParser.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
IcyMetaDataParser.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Idle.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Idle.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
IdleFlags.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
IdleFlags.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Instance.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Instance.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Listen.cxx Listen: use fs/XDG.hxx 2018-10-31 14:30:34 +01:00
Listen.hxx Listen: use struct ConfigData 2018-07-17 23:02:53 +02:00
LocateUri.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
LocateUri.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Log.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Log.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
LogBackend.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
LogBackend.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
LogInit.cxx LogInit: default to journal if MPD was started as systemd service 2018-11-14 12:07:22 +01:00
LogInit.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
LogLevel.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
LogV.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
ls.cxx input/Plugin: add attribute prefixes 2018-10-24 20:25:32 +02:00
ls.hxx input/Plugin: add attribute prefixes 2018-10-24 20:25:32 +02:00
Main.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Main.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Mapper.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Mapper.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
MixRampInfo.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
MusicBuffer.cxx MusicBuffer: remove noexcept from constructor 2018-09-21 17:11:52 +02:00
MusicBuffer.hxx player/Thread: stop buffering if buffer is full 2018-09-21 19:05:25 +02:00
MusicChunk.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
MusicChunk.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
MusicChunkPtr.cxx MusicChunkPtr: managed MusicChunk pointer 2018-06-22 23:11:52 +02:00
MusicChunkPtr.hxx MusicChunkPtr: managed MusicChunk pointer 2018-06-22 23:11:52 +02:00
MusicPipe.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
MusicPipe.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
open.h *: copyright year 2018 2018-10-31 17:54:59 +01:00
Partition.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Partition.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Permission.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Permission.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
PlaylistDatabase.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
PlaylistDatabase.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
PlaylistError.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
PlaylistError.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
PlaylistFile.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
PlaylistFile.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
PlaylistPrint.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
PlaylistPrint.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
PlaylistSave.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
PlaylistSave.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
PluginUnavailable.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
RemoteTagCache.cxx RemoteTagCache: new glue class for integrating RemoteTagScanner 2018-01-30 00:05:57 +01:00
RemoteTagCache.hxx RemoteTagCache: new glue class for integrating RemoteTagScanner 2018-01-30 00:05:57 +01:00
RemoteTagCacheHandler.hxx RemoteTagCache: new glue class for integrating RemoteTagScanner 2018-01-30 00:05:57 +01:00
ReplayGainConfig.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
ReplayGainGlobal.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
ReplayGainGlobal.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
ReplayGainInfo.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
ReplayGainInfo.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
ReplayGainMode.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
ReplayGainMode.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
SingleMode.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
SingleMode.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
SongLoader.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
SongLoader.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
SongPrint.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
SongPrint.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
SongSave.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
SongSave.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
SongUpdate.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
StateFile.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
StateFile.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
StateFileConfig.cxx StateFileConfig: add attribute "restore_paused" 2018-07-17 23:40:14 +02:00
StateFileConfig.hxx StateFileConfig: add attribute "restore_paused" 2018-07-17 23:40:14 +02:00
Stats.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
Stats.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
TagArchive.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
TagArchive.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
TagFile.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
TagFile.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
TagPrint.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
TagPrint.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
TagSave.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
TagSave.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
TagStream.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
TagStream.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
TimePrint.cxx *: copyright year 2018 2018-10-31 17:54:59 +01:00
TimePrint.hxx *: copyright year 2018 2018-10-31 17:54:59 +01:00