diff options
Diffstat (limited to 'extern/audaspace/src/devices/SoftwareDevice.cpp')
-rw-r--r-- | extern/audaspace/src/devices/SoftwareDevice.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/extern/audaspace/src/devices/SoftwareDevice.cpp b/extern/audaspace/src/devices/SoftwareDevice.cpp index 7a2561515f4..e11b49a0967 100644 --- a/extern/audaspace/src/devices/SoftwareDevice.cpp +++ b/extern/audaspace/src/devices/SoftwareDevice.cpp @@ -756,6 +756,7 @@ void SoftwareDevice::mix(data_t* buffer, int length) // get the buffer from the source pos = 0; len = length; + eos = false; // update 3D Info sound->update(); @@ -842,6 +843,27 @@ void SoftwareDevice::setSpecs(Specs specs) { sound->setSpecs(specs); } + + for(auto& sound : m_pausedSounds) + { + sound->setSpecs(specs); + } +} + +void SoftwareDevice::setSpecs(DeviceSpecs specs) +{ + m_specs = specs; + m_mixer->setSpecs(specs); + + for(auto& sound : m_playingSounds) + { + sound->setSpecs(specs.specs); + } + + for(auto& sound : m_pausedSounds) + { + sound->setSpecs(specs.specs); + } } SoftwareDevice::SoftwareDevice() |