This particular case of LLAPRFile crashes due to thread issues (and if it doesn't it might be affecting some other apr call due to using default pool).
Function is not opening the .dsf file in question and LLAPRFile won't ensure that file exists till the end of the function, it just checks that file exists at a given moment. No point to overcomplicate things by adding thread safe pool, so replaced with dirutil.
Selecting "Default" will always select the first output device; if the available
devices change and the previous default device isn't available anymore, the
viewer automatically switches to the new default device (depends on the OS which
gets the new default one!). Selecting a particular device will NOT automatically
switch to another device if it isn't available anymore (preferences will show
"Unavailable device"), but will switch back to this device once it becomes
available again.
Yank this change before Firestorm releases it and I will gladly yank your unreleased stuff!