• David Reid's avatar
    Resource Manager: Decode synchronously on the calling thread. · 3df4a9e8
    David Reid authored
    This commit changes synchronous decoding so that the calling thread is
    the one which performs the decoding. Previously, decoding was done on
    the job threads which was then waited on by an event on the calling
    thread. The rationale for this design was to keep decoding on a single
    code path, however this creates a problem for programs that would
    prefer not to have any asynchronous job threads. In this case, these
    synchronously decoded sounds would never get decoded because there
    would not be any threads available to actually perform the decoding.
    
    This commit enables the resource manager to be able to be used without
    a job thread so long as asynchronous decoding and streaming are not
    used. This scenario could be useful for programs that want to pre-load
    all of their sounds at load time and save some system resources by not
    incurring the overhead of an additional unnecessary thread.
    3df4a9e8
ma_engine.h 230 KB