• Max Kellermann's avatar
    output/alsa: check ring buffer space before writing to it · 0a32634d
    Max Kellermann authored
    Pass only the amount of data to PcmExport::Export() when its full
    output fits into the ring buffer.  Using only a part of the
    PcmExport::Export() result may cause data corruption because
    PcmExport's internal state may contain partial blocks which would need
    to be rolled back when only some of its output data was used.
    
    As a side effect, this fixes an assertion failure because
    PcmExport::CalcInputSize() considered partial block data and could
    cause Play() to return a number larger than the "size" parameter.
    0a32634d
Name
Last commit
Last update
..
httpd Loading commit data...
sles Loading commit data...
AlsaOutputPlugin.cxx Loading commit data...
AlsaOutputPlugin.hxx Loading commit data...
AoOutputPlugin.cxx Loading commit data...
AoOutputPlugin.hxx Loading commit data...
FifoOutputPlugin.cxx Loading commit data...
FifoOutputPlugin.hxx Loading commit data...
HaikuOutputPlugin.cxx Loading commit data...
HaikuOutputPlugin.hxx Loading commit data...
JackOutputPlugin.cxx Loading commit data...
JackOutputPlugin.hxx Loading commit data...
NullOutputPlugin.cxx Loading commit data...
NullOutputPlugin.hxx Loading commit data...
OSXOutputPlugin.cxx Loading commit data...
OSXOutputPlugin.hxx Loading commit data...
OpenALOutputPlugin.cxx Loading commit data...
OpenALOutputPlugin.hxx Loading commit data...
OssOutputPlugin.cxx Loading commit data...
OssOutputPlugin.hxx Loading commit data...
PipeOutputPlugin.cxx Loading commit data...
PipeOutputPlugin.hxx Loading commit data...
PulseOutputPlugin.cxx Loading commit data...
PulseOutputPlugin.hxx Loading commit data...
RecorderOutputPlugin.cxx Loading commit data...
RecorderOutputPlugin.hxx Loading commit data...
ShoutOutputPlugin.cxx Loading commit data...
ShoutOutputPlugin.hxx Loading commit data...
SndioOutputPlugin.cxx Loading commit data...
SndioOutputPlugin.hxx Loading commit data...
SolarisOutputPlugin.cxx Loading commit data...
SolarisOutputPlugin.hxx Loading commit data...
WinmmOutputPlugin.cxx Loading commit data...
WinmmOutputPlugin.hxx Loading commit data...
meson.build Loading commit data...