mpd/src
Max Kellermann 026aef7465 decoder/flac: move the SubmitData() call out of the callback
This addresses two problems:

1. the libFLAC write callback had to send an error status to its
caller when SubmitData() returned a command; this disrupted libFLAC
and the resulting command could not be used for anything;

2. the libFLAC function FLAC__stream_decoder_seek_absolute() also
calls the write callback, but its result cannot be used, because
seeking is still in progress, so we lose all data from one FLAC frame.
By moving the SubmitData() call until after CommandFinished(), we
avoid losing this data.  This fixes another part of #113
2018-02-17 13:33:53 +01:00
..
android update copyright year 2017-01-03 20:48:59 +01:00
archive archive/iso9660: libcdio 2.0 compatibility 2018-02-03 19:32:31 +01:00
AudioCompress audio_{parser,config}: convert to C++ 2013-01-30 21:47:12 +01:00
client *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
command command/Error: translate std::{length_error,out_of_range} to ACK_ERROR_ARG 2017-12-21 10:22:04 +01:00
config *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
db db/update/Service: set the update thread name 2018-02-09 18:48:14 +01:00
decoder decoder/flac: move the SubmitData() call out of the callback 2018-02-17 13:33:53 +01:00
encoder encoder/opus: initialize granulepos to 0 2018-02-17 01:22:17 +01:00
event event/Loop: use std::atomic_bool for the "quit" variable 2018-01-08 10:06:23 +01:00
filter filter/convert: set the PcmConvert instance only if it was initialized 2018-02-09 19:05:45 +01:00
fs *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
haiku Haiku: add resources: application signature and flags 2015-09-17 22:46:46 +02:00
input input/file: don't use posix_fadvise() on Android 2018-02-09 22:54:22 +01:00
java AUTHORS, ...: update my email address 2017-01-17 11:54:55 +01:00
lib lib/curl: remove .netrc support on Android 2018-02-09 23:14:29 +01:00
mixer mixer/alsa: work around rounding error at volume 0 2018-02-10 09:07:51 +01:00
neighbor thread/Thread: use BoundMethod 2018-01-07 17:20:26 +01:00
net *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
output output/pulse: fix crash during auto-detection 2018-01-30 10:06:36 +01:00
pcm pcm/Order: fix size calculation with 8 channels 2018-02-09 19:01:12 +01:00
player thread/Thread: use BoundMethod 2018-01-07 17:20:26 +01:00
playlist playlist/SoundCloud: fix -Wunused-lambda-capture 2018-01-23 09:57:52 +01:00
protocol protocol/ArgParser: move strtof()/strtod() switch to util/NumberParser.hxx 2018-02-09 22:54:22 +01:00
queue SongSave, queue/PlaylistState, tag/ReplayGain: use portable atof() wrappers 2018-02-09 22:54:22 +01:00
sticker *: remove "pure" and "const" attributes from throwing functions 2017-05-08 17:25:06 +02:00
storage storage/State: check if a CompositeStorage exists; fixes nullptr dereference 2018-01-02 14:13:26 +01:00
system *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
tag SongSave, queue/PlaylistState, tag/ReplayGain: use portable atof() wrappers 2018-02-09 22:54:22 +01:00
thread thread/Util: implement system call wrapper for sched_setscheduler() 2018-02-09 18:43:45 +01:00
unix *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
util protocol/ArgParser: move strtof()/strtod() switch to util/NumberParser.hxx 2018-02-09 22:54:22 +01:00
win32 *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
zeroconf update copyright year 2017-01-03 20:48:59 +01:00
AudioFormat.cxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
AudioFormat.hxx *: add lost of "noexcept" specifications 2017-06-04 12:46:48 +02:00
AudioParser.cxx Audio{Format,Parser}: use shortcuts such as "dsd64" in log messages 2017-01-17 22:42:23 +01:00
AudioParser.hxx *: remove "pure" and "const" attributes from throwing functions 2017-05-08 17:25:06 +02:00
BulkEdit.hxx update copyright year 2017-01-03 20:48:59 +01:00
check.h update copyright year 2017-01-03 20:48:59 +01:00
CheckAudioFormat.cxx update copyright year 2017-01-03 20:48:59 +01:00
CheckAudioFormat.hxx update copyright year 2017-01-03 20:48:59 +01:00
Chrono.hxx update copyright year 2017-01-03 20:48:59 +01:00
CommandLine.cxx *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
CommandLine.hxx update copyright year 2017-01-03 20:48:59 +01:00
Compiler.h update copyright year 2017-01-03 20:48:59 +01:00
DetachedSong.cxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
DetachedSong.hxx *: add lost of "noexcept" specifications 2017-06-04 12:46:48 +02:00
IcyMetaDataParser.cxx update copyright year 2017-01-03 20:48:59 +01:00
IcyMetaDataParser.hxx update copyright year 2017-01-03 20:48:59 +01:00
Idle.cxx update copyright year 2017-01-03 20:48:59 +01:00
Idle.hxx update copyright year 2017-01-03 20:48:59 +01:00
IdleFlags.cxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
IdleFlags.hxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
Instance.cxx update copyright year 2017-01-03 20:48:59 +01:00
Instance.hxx *: remove "pure" and "const" attributes from throwing functions 2017-05-08 17:25:06 +02:00
IOThread.cxx thread/Thread: make IsInside() debug-only 2018-01-08 09:56:39 +01:00
IOThread.hxx thread/Thread: make IsInside() debug-only 2018-01-08 09:56:39 +01:00
Listen.cxx update copyright year 2017-01-03 20:48:59 +01:00
Listen.hxx update copyright year 2017-01-03 20:48:59 +01:00
LocateUri.cxx update copyright year 2017-01-03 20:48:59 +01:00
LocateUri.hxx *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
Log.cxx update copyright year 2017-01-03 20:48:59 +01:00
Log.hxx update copyright year 2017-01-03 20:48:59 +01:00
LogBackend.cxx *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
LogBackend.hxx update copyright year 2017-01-03 20:48:59 +01:00
LogInit.cxx *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
LogInit.hxx update copyright year 2017-01-03 20:48:59 +01:00
LogLevel.hxx *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
LogV.hxx update copyright year 2017-01-03 20:48:59 +01:00
ls.cxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
ls.hxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
Main.cxx *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
Main.hxx *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
Mapper.cxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
Mapper.hxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
MixRampInfo.hxx *: add lost of "noexcept" specifications 2017-06-04 12:46:48 +02:00
MusicBuffer.cxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
MusicBuffer.hxx *: add lost of "noexcept" specifications 2017-06-04 12:46:48 +02:00
MusicChunk.cxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
MusicChunk.hxx MusicChunk: add magic value IGNORE_REPLAY_GAIN 2017-12-03 11:39:12 +01:00
MusicPipe.cxx *: add lost of "noexcept" specifications 2017-06-04 12:46:48 +02:00
MusicPipe.hxx MusicPipe: lock the mutex in Peek() and GetSize() 2018-01-07 17:20:22 +01:00
notify.cxx update copyright year 2017-01-03 20:48:59 +01:00
notify.hxx update copyright year 2017-01-03 20:48:59 +01:00
open.h update copyright year 2017-01-03 20:48:59 +01:00
Partition.cxx Partition: handle SYNC_WITH_PLAYER before TAG_MODIFIED 2017-03-10 16:11:34 +01:00
Partition.hxx *: remove "pure" and "const" attributes from throwing functions 2017-05-08 17:25:06 +02:00
Permission.cxx *: remove "pure" and "const" attributes from throwing functions 2017-05-08 17:25:06 +02:00
Permission.hxx update copyright year 2017-01-03 20:48:59 +01:00
PlaylistDatabase.cxx update copyright year 2017-01-03 20:48:59 +01:00
PlaylistDatabase.hxx update copyright year 2017-01-03 20:48:59 +01:00
PlaylistError.cxx update copyright year 2017-01-03 20:48:59 +01:00
PlaylistError.hxx update copyright year 2017-01-03 20:48:59 +01:00
PlaylistFile.cxx Playlist{File,Save}: always use UTF-8 in playlists on Windows 2017-10-18 10:05:26 +02:00
PlaylistFile.hxx update copyright year 2017-01-03 20:48:59 +01:00
PlaylistPrint.cxx update copyright year 2017-01-03 20:48:59 +01:00
PlaylistPrint.hxx update copyright year 2017-01-03 20:48:59 +01:00
PlaylistSave.cxx Playlist{File,Save}: always use UTF-8 in playlists on Windows 2017-10-18 10:05:26 +02:00
PlaylistSave.hxx update copyright year 2017-01-03 20:48:59 +01:00
PluginUnavailable.hxx update copyright year 2017-01-03 20:48:59 +01:00
poison.h update copyright year 2017-01-03 20:48:59 +01:00
ReplayGainConfig.hxx update copyright year 2017-01-03 20:48:59 +01:00
ReplayGainGlobal.cxx update copyright year 2017-01-03 20:48:59 +01:00
ReplayGainGlobal.hxx update copyright year 2017-01-03 20:48:59 +01:00
ReplayGainInfo.cxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
ReplayGainInfo.hxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
ReplayGainMode.cxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
ReplayGainMode.hxx *: remove "pure" and "const" attributes from throwing functions 2017-05-08 17:25:06 +02:00
SongFilter.cxx db/simple/Mount: drop mount point prefix from LOCATE_TAG_BASE_TYPE 2018-01-19 23:52:57 +01:00
SongFilter.hxx db/simple/Mount: drop mount point prefix from LOCATE_TAG_BASE_TYPE 2018-01-19 23:52:57 +01:00
SongLoader.cxx update copyright year 2017-01-03 20:48:59 +01:00
SongLoader.hxx update copyright year 2017-01-03 20:48:59 +01:00
SongPrint.cxx update copyright year 2017-01-03 20:48:59 +01:00
SongPrint.hxx update copyright year 2017-01-03 20:48:59 +01:00
SongSave.cxx SongSave, queue/PlaylistState, tag/ReplayGain: use portable atof() wrappers 2018-02-09 22:54:22 +01:00
SongSave.hxx update copyright year 2017-01-03 20:48:59 +01:00
SongUpdate.cxx update copyright year 2017-01-03 20:48:59 +01:00
StateFile.cxx Save and restore mountpoints within the state file. 2017-12-18 23:39:01 +01:00
StateFile.hxx Save and restore mountpoints within the state file. 2017-12-18 23:39:01 +01:00
Stats.cxx *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
Stats.hxx update copyright year 2017-01-03 20:48:59 +01:00
TagArchive.cxx update copyright year 2017-01-03 20:48:59 +01:00
TagArchive.hxx update copyright year 2017-01-03 20:48:59 +01:00
TagFile.cxx update copyright year 2017-01-03 20:48:59 +01:00
TagFile.hxx update copyright year 2017-01-03 20:48:59 +01:00
TagPrint.cxx update copyright year 2017-01-03 20:48:59 +01:00
TagPrint.hxx update copyright year 2017-01-03 20:48:59 +01:00
TagSave.cxx update copyright year 2017-01-03 20:48:59 +01:00
TagSave.hxx update copyright year 2017-01-03 20:48:59 +01:00
TagStream.cxx *: add "noexcept" to many, many function prototypes 2017-05-08 14:44:49 +02:00
TagStream.hxx update copyright year 2017-01-03 20:48:59 +01:00
TimePrint.cxx *: check defined(_WIN32) instead of defined(WIN32) 2017-12-12 10:22:20 +01:00
TimePrint.hxx update copyright year 2017-01-03 20:48:59 +01:00