• David Reid's avatar
    Introduce paged decoding to the resource manager in the high level API. · 213ee9dc
    David Reid authored
    This enables early playback of the sound while the remainder of the
    sound is loaded in the background. When the first page is loaded, the
    sound can start playback. While it's playing, the rest of the sound is
    loaded in a background thread. In addition, sounds no longer need to
    wait for every sound prior to it in the queue to fully decode before it
    is able to start - it only needs to wait for the first page of each of
    the queued sounds to decode. This enables much fairer prioritization of
    asynchronously loaded sounds.
    
    This paged decoding system is *not* a true streaming solution for long
    sounds. Support for true streaming will be added in future commits.
    This commit is only concerned with filling in-memory buffers containing
    the whole sound in an asynchronous manner.
    213ee9dc
ma_engine.c 3.39 KB