HydrogenAudio

Hosted Forums => foobar2000 => Development - (fb2k) => Topic started by: borges on 2012-09-13 15:51:42

Title: ASIO timeout reason
Post by: borges on 2012-09-13 15:51:42
I'm debugging an audio system which uses USB Audio Class 2 firmware on an MCU and an ASIO driver on Windows. Occationally, I get "Unrecoverable playback error: Timeout" in foobar2000 (version 1.1.13).

Could you please share some details on what is causing this error? Is there a particular ASIO function call which fails? Knowing more about how the error appears in foobar2000 I'll hopefully be able to track it through driver and firmware.

The Audio Widget project may perhaps interest you, both firmware, ASIO driver and hardware schematics are open source. More info at www.qnktc.com.


Thanks,
Børge
Title: ASIO timeout reason
Post by: Peter on 2012-09-13 16:07:56
Timeout means unresponsive/deadlocked driver code.
Title: ASIO timeout reason
Post by: borges on 2012-09-13 17:20:44
Timeout means unresponsive/deadlocked driver code.


Thanks Peter. I was hoping you could tell me which ASIO fuctions you call to determine a deadlock, so that I can add debug messages to them.

Børge
Title: ASIO timeout reason
Post by: Peter on 2012-09-13 20:48:42
I don't call ASIO functions to determine a deadlock, I presume a deadlock when some ASIO call takes more than 10 seconds to execute and kill the process running ASIO code.
Title: ASIO timeout reason
Post by: borges on 2012-09-13 21:16:28
I don't call ASIO functions to determine a deadlock, I presume a deadlock when some ASIO call takes more than 10 seconds to execute and kill the process running ASIO code.


OK, good to know. Would it be too much to ask to name the offending call in the error message? :-)

Børge
Title: ASIO timeout reason
Post by: nikkov on 2012-09-14 03:21:32
Timeout means unresponsive/deadlocked driver code.


Thanks Peter. I was hoping you could tell me which ASIO fuctions you call to determine a deadlock, so that I can add debug messages to them.

Børge

Hi Børge,

I know where is deadlock. Problem in ASIO function bufferSwitch. In some cases, after you press play and immediately stop my ASIO driver enough time to call bufferSwitch, but from bufferSwitch doesn't returning

Nikolay