Skip to main content
Topic: ASIO pause issue (Read 276 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

ASIO pause issue

Hi Folks!
I have YAMAHA A-S801 with usb-b interface. It utilizes Yamaha Steinberg usb_driver (https://www.steinberg.net/en/support/downloads_hardware/yamaha_steinberg_usb_driver.html) with full ASIO support. This driver works great and allow to simultaneously play music from foobar2000 using ASIO interface and, for example, YouTube in browser tab via WASAPI event to Windows Yamaha DAC device. This works good when foobar2000 playback is in progress or stopped but no other windows applications could play sound when foobar2000 playback is on pause. I check recent AIMP and trial version of JRiver media center. Their ASIO output with playback pause pressed works. These players don't block other applications/windows sound system. Is this foobar ASIO component bug? Folks, what could you suggest to make it work?

Re: ASIO pause issue

Reply #1
Probably a limitation of the ASIO driver. Make sure that the sampling rate of all software trying to play simultaneously is the same. Insert a resampler DSP as needed. Occasionally I've heard the sound of a repeated buffer with loud feedback from the web browser when Foobar is paused, but usually it is fine with other software. Foobar could work around this case by continuing to play silence when it is paused.

Re: ASIO pause issue

Reply #2
>>Foobar could work around this case by continuing to play silence when it is paused.
Do think AIMP and jRiver use the same trick when pause pressed on my system? Because pause works as I want for them.

P.S. Tested pause on sound forge 14 pro with ASIO. It also works!

Re: ASIO pause issue

Reply #3
It probably keeps the ASIO driver open at all times and feeds it silence when it is not rendering or producing audio.

Re: ASIO pause issue

Reply #4
I tested xmPlay and MusicBee - both work OK with pause. Following the idea above all them are using silence trick for pause pressed on. I don't think so, because when I press "stop" other stream plays and I don't think OS plays silence to ASIO this time. For me it might look the following way.

Foobar2000 ASIO

stop button pressed -> {
   stop internal playback
   release ASIO stream
}

pause button pressed -> {
   stop internal playback
   hold ASIO bus events cycle with waiting some sync signal that might block the thread and others sound streams
}

other players ASIO

stop button pressed -> {
   stop internal playback
   release ASIO stream
}

pause button pressed -> {
   stop internal playback
   release ASIO stream (and connect to the stream again when play button is pressed)
 }

I know nothing ASIO interface protocol, I just guess. Thanks to all! Is there any chance to bring Peter's attention to that issue?

Re: ASIO pause issue

Reply #5
None of the programs I tried "release the stream" when Pause is pressed. That is the difference between pause and stop. Playback resumes immediately when unpausing, without the associated lag. I don't know how to test if silence is being played, as it doesn't show on the meters, but it is an option in rare programs. Is pausing compatible with your setup in OpenMPT? There you can choose between stop/pause/silence on the sound device dialog (this program stops the same no matter if I press the square or bars). And the responsiveness of the program is slightly better in silence mode.

 
SimplePortal 1.0.0 RC1 © 2008-2020