Resource Manager: Decode synchronously on the calling thread.
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.
Showing
Please register or sign in to comment