When an organ had been loaded from a cache playing it could hang.
The root cause was that GOSoundAudioSection::EndSegment::end_pos stopped saving to the cache.
This PR
Added protection to GOSoundStream::ReadBlock against hang even the samples are not valid
Extracted the static fields of GOSoundAudioSection::EndSegment to the base GOSoundAudioSection::EndSegmentDescription
Reading/Writing GOSoundAudioSection::EndSegmentDescription to the cache as whole object instead of operating of separated fields, that fixes the root cause
This PR fixes a bug introduced with #1919
When an organ had been loaded from a cache playing it could hang.
The root cause was that GOSoundAudioSection::EndSegment::end_pos stopped saving to the cache.
This PR