• Max Kellermann's avatar
    decoder/flac: move the SubmitData() call out of the callback · 026aef74
    Max Kellermann authored
    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
    026aef74
Name
Last commit
Last update
..
AdPlugDecoderPlugin.cxx Loading commit data...
AdPlugDecoderPlugin.h Loading commit data...
AudiofileDecoderPlugin.cxx Loading commit data...
AudiofileDecoderPlugin.hxx Loading commit data...
DsdLib.cxx Loading commit data...
DsdLib.hxx Loading commit data...
DsdiffDecoderPlugin.cxx Loading commit data...
DsdiffDecoderPlugin.hxx Loading commit data...
DsfDecoderPlugin.cxx Loading commit data...
DsfDecoderPlugin.hxx Loading commit data...
FaadDecoderPlugin.cxx Loading commit data...
FaadDecoderPlugin.hxx Loading commit data...
FfmpegDecoderPlugin.cxx Loading commit data...
FfmpegDecoderPlugin.hxx Loading commit data...
FfmpegIo.cxx Loading commit data...
FfmpegIo.hxx Loading commit data...
FfmpegMetaData.cxx Loading commit data...
FfmpegMetaData.hxx Loading commit data...
FlacCommon.cxx Loading commit data...
FlacCommon.hxx Loading commit data...
FlacDecoderPlugin.cxx Loading commit data...
FlacDecoderPlugin.h Loading commit data...
FlacDomain.cxx Loading commit data...
FlacDomain.hxx Loading commit data...
FlacIOHandle.cxx Loading commit data...
FlacIOHandle.hxx Loading commit data...
FlacInput.cxx Loading commit data...
FlacInput.hxx Loading commit data...
FlacMetadata.cxx Loading commit data...
FlacMetadata.hxx Loading commit data...
FlacPcm.cxx Loading commit data...
FlacPcm.hxx Loading commit data...
FlacStreamDecoder.hxx Loading commit data...
FluidsynthDecoderPlugin.cxx Loading commit data...
FluidsynthDecoderPlugin.hxx Loading commit data...
GmeDecoderPlugin.cxx Loading commit data...
GmeDecoderPlugin.hxx Loading commit data...
MadDecoderPlugin.cxx Loading commit data...
MadDecoderPlugin.hxx Loading commit data...
MikmodDecoderPlugin.cxx Loading commit data...
MikmodDecoderPlugin.hxx Loading commit data...
ModplugDecoderPlugin.cxx Loading commit data...
ModplugDecoderPlugin.hxx Loading commit data...
MpcdecDecoderPlugin.cxx Loading commit data...
MpcdecDecoderPlugin.hxx Loading commit data...
Mpg123DecoderPlugin.cxx Loading commit data...
Mpg123DecoderPlugin.hxx Loading commit data...
OggCodec.cxx Loading commit data...
OggCodec.hxx Loading commit data...
OggDecoder.cxx Loading commit data...
OggDecoder.hxx Loading commit data...
OpusDecoderPlugin.cxx Loading commit data...
OpusDecoderPlugin.h Loading commit data...
OpusDomain.cxx Loading commit data...
OpusDomain.hxx Loading commit data...
OpusHead.cxx Loading commit data...
OpusHead.hxx Loading commit data...
OpusReader.hxx Loading commit data...
OpusTags.cxx Loading commit data...
OpusTags.hxx Loading commit data...
PcmDecoderPlugin.cxx Loading commit data...
PcmDecoderPlugin.hxx Loading commit data...
SidplayDecoderPlugin.cxx Loading commit data...
SidplayDecoderPlugin.hxx Loading commit data...
SndfileDecoderPlugin.cxx Loading commit data...
SndfileDecoderPlugin.hxx Loading commit data...
VorbisDecoderPlugin.cxx Loading commit data...
VorbisDecoderPlugin.h Loading commit data...
VorbisDomain.cxx Loading commit data...
VorbisDomain.hxx Loading commit data...
WavpackDecoderPlugin.cxx Loading commit data...
WavpackDecoderPlugin.hxx Loading commit data...
WildmidiDecoderPlugin.cxx Loading commit data...
WildmidiDecoderPlugin.hxx Loading commit data...