Replace mutex and volatile in pan/tasks/decoder, pan/tasks/decoder and pan/general/worker-pool with atomics
Firstly, volatile doesn't do what you think it does (it certainly doesn't guarantee you'll see changes that have happened in another cpu/thread) unless you have memory barriers (like mutex), and if you do have memory barriers, it serves no purpose.
Secondly a mutex is a bit overkill for updating booleans, doubles and integers