allow running on background thread for offline audio