# ASIO device init. DSP buffer size error

**URL:** <https://qa.fmod.com/t/asio-device-init-dsp-buffer-size-error/13914>\
**Category:** FMOD Engine\
**Created:** [May 31, 2018, 3:11pm UTC](https://qa.fmod.com/t/asio-device-init-dsp-buffer-size-error/13914 "2018-05-31T15:11:33Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![vladimir.zibarov](https://avatars.discourse-cdn.com/v4/letter/v/9de0a6/32.png) [@vladimir.zibarov](https://qa.fmod.com/u/vladimir.zibarov)\
**Post date:** [May 31, 2018, 3:11pm UTC](https://qa.fmod.com/t/asio-device-init-dsp-buffer-size-error/13914/1 "2018-05-31T15:11:33Z")

</div>

Hello.  
I am trying to init ASIO device FCA610 (Behringer) with FMOD low level API version 11005 (also tried with 10913 - same error):

[LOG] SystemI::init : Initialize version=11005 (94661), maxchannels=100, flags=0x00000000  
[WRN] OutputASIO::init : Requested DSP buffer count of 4 is being forced to 2.  
[ERR] OutputASIO::init : DSP buffer size 1024 must be between 480 and 480 or a divisor of 480.  
[LOG] SystemI::close : Closed.

FMOD\_System\_Init returns error:  
FMOD error (51): Error initializing output device.

If I set DSP buffer size to 480 - it initializes and works OK, but I can’t get desired DSP buffer size for different devices. Also, some devices require default buffer size 1024.  
One time this same device requested buffer size 528.

Same device (FCA610 through ASIO) initializes and works OK using fmodEX.

What could be solution to this?

---

<div class="post-metadata">

**Author:** ![vladimir.zibarov](https://avatars.discourse-cdn.com/v4/letter/v/9de0a6/32.png) [@vladimir.zibarov](https://qa.fmod.com/u/vladimir.zibarov)\
**Post date:** [May 31, 2018, 5:20pm UTC](https://qa.fmod.com/t/asio-device-init-dsp-buffer-size-error/13914/2 "2018-05-31T17:20:59Z")

</div>

Tested on FMOD 10620 - works OK. 10722, 10826, 10913 - same error.

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [June 4, 2018, 10:53pm UTC](https://qa.fmod.com/t/asio-device-init-dsp-buffer-size-error/13914/3 "2018-06-04T22:53:51Z")

</div>

This is currently a known issue, ASIO requires a specific buffer size to be used and the only way to know the correct size is from that error message.

We do have a task in the works to allow ASIO to work for all buffer sizes, although this will increase latency.

Have you considered using WASAPI? It is what we would recommend.

---

<div class="post-metadata">

**Author:** ![vladimir.zibarov](https://avatars.discourse-cdn.com/v4/letter/v/9de0a6/32.png) [@vladimir.zibarov](https://qa.fmod.com/u/vladimir.zibarov)\
**Post date:** [June 5, 2018, 8:29am UTC](https://qa.fmod.com/t/asio-device-init-dsp-buffer-size-error/13914/4 "2018-06-05T08:29:58Z")

</div>

> [@](#):
>
> This is currently a known issue, ASIO requires a specific buffer size to be used and the only way to know the correct size is from that error message.
> 
> We do have a task in the works to allow ASIO to work for all buffer sizes, although this will increase latency.
> 
> Have you considered using WASAPI? It is what we would recommend.

Thank you for this answer.  
Is there a way to receive that error message at runtime? (For me to be able to workaround this.) I mean, it’s only outputting to console when running with debug version of DLL.  
ASIO is crucial for me to be able to play multichannel (5.1 or 7.1) through external USB audio cards. Through WASAPI they often presents as 4 separate stereo audio cards, while through ASIO - one multichannel device.

---

<div class="post-metadata">

**Author:** ![cameron-fmod](https://yyz2.discourse-cdn.com/flex036/user_avatar/qa.fmod.com/cameron-fmod/32/261_2.png) [@cameron-fmod](https://qa.fmod.com/u/cameron-fmod)\
**Post date:** [June 6, 2018, 6:47am UTC](https://qa.fmod.com/t/asio-device-init-dsp-buffer-size-error/13914/5 "2018-06-06T06:47:20Z")

</div>

At the moment, you will only be able to get this information at runtime when using the logging libs.

By calling FMOD\_Debug\_Initialize with mode ‘FMOD\_DEBUG\_MODE\_CALLBACK’ will allow you to also pass in a callback that will receive the error message.

The planned task sounds like it is what you want, but I can’t give you an ETA on it just yet unfortunately.
