Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: WASAPI output plugin (Read 146122 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

WASAPI output plugin

Reply #100
Those ATI HDMI outputs should work perfectly well without Realtek's drivers on your OS. Try uninstalling the driver and test WASAPI again. Also skipping with DS output suggests that there is something silly going on elsewhere in the machine. DPC Latency Checker will probably show spikes. Would be good idea to try and solve that.


Thanks for the reply.  DPC Latency Checker showed no problem.  The PAUSE button works with DS output.  Again, I get perfect sound with WASAPI.  It is only when I use the PAUSE button and I am using WASAPI HDMI output with 5.1 sound that I hear skipping.  When I start to PLAY again the sound is fine.  To be clear, normally I expect to hear nothing after pressing PAUSE, but I hear repeating sound.

WASAPI output plugin

Reply #101
When I see this message it is because Windows is not recognizing the output device or speakers.  I have to fiddle with things until I get Windows to see the device.  Look at control panel/sound.

Thanks for the reply.

I've experimented with several settings in Control Panel>Sound, but nothing's made any difference.  Is there something, specifically, that I should be looking for?

Also, I forgot to mention that I'm using the 64-bit version of W7, if that makes any difference.

Thanks!

~esa

WASAPI output plugin

Reply #102
I am trying to use WASAPI with my ATI card.
My receiver supports 16, 20 and 24 bit files but the ATI card is forcing me to pick one sampling rate for all audio.

Everything seems fine with standard CD audio.
I get an unexpected error (0x800700F1) "hardware error" with my multi-channel WAV files.
These files are standard 5.1 24 bit 96kHz audio and play fine without the WASAPI component installed.


WASAPI output plugin

Reply #103
I am trying to use WASAPI with my ATI card.
My receiver supports 16, 20 and 24 bit files but the ATI card is forcing me to pick one sampling rate for all audio.

Everything seems fine with standard CD audio.
I get an unexpected error (0x800700F1) "hardware error" with my multi-channel WAV files.
These files are standard 5.1 24 bit 96kHz audio and play fine without the WASAPI component installed.


I am certainly no expert here.  All I can suggest is to install the realtek drivers and decrease the buffer value in the WASAPI output settings.  I have mine set to 230 msec.

WASAPI output plugin

Reply #104
[quote name='teddy2' date='Jul 16 2010, 13:25' post='714173
I am certainly no expert here.  All I can suggest is to install the realtek drivers and decrease the buffer value in the WASAPI output settings.  I have mine set to 230 msec.
[/quote]

I installed the Realtek drivers and there was no change. I changed the buffer value to <= 500msecs and got white noise out of the speakers.

WASAPI output plugin

Reply #105
I am trying to use WASAPI with my ATI card.
My receiver supports 16, 20 and 24 bit files but the ATI card is forcing me to pick one sampling rate for all audio.

Everything seems fine with standard CD audio.
I get an unexpected error (0x800700F1) "hardware error" with my multi-channel WAV files.
These files are standard 5.1 24 bit 96kHz audio and play fine without the WASAPI component installed.


Unlike DirectSound output, the WASAPI output passes audio to the soundcard as is - i.e. it won't downmix  or upmix channels, convert the samplerate or change the bit depth. Thus it is that, if your soundcard hasn't been set-up to output 5.1 24 bit 96kHz audio, you'll have an error when attempting to pass audio of that specification to the card.

To work-around this, try to change the soundcard settings to match the format of the files. If that isn't possible, then use DSPs such as "Convert 5.1 to stereo" and "Resampler" to modify the audio format, and be sure to use the correct bit depth settings in the preferences. If all else fails, do reconsider whether or not you actually need to use the WASAPI output.

Hope this helps .
"Lifting Shadows Off a Dream"

WASAPI output plugin

Reply #106
Unlike DirectSound output, the WASAPI output passes audio to the soundcard as is - i.e. it won't downmix  or upmix channels, convert the samplerate or change the bit depth. Thus it is that, if your soundcard hasn't been set-up to output 5.1 24 bit 96kHz audio, you'll have an error when attempting to pass audio of that specification to the card.

To work-around this, try to change the soundcard settings to match the format of the files. If that isn't possible, then use DSPs such as "Convert 5.1 to stereo" and "Resampler" to modify the audio format, and be sure to use the correct bit depth settings in the preferences. If all else fails, do reconsider whether or not you actually need to use the WASAPI output.

Hope this helps .


Thanks for the response, but I don't think this makes anything clearer for me.

1) My audio card (ATI) only has a single setting for sampling rate and it is described as the maximum.
2) All my audio files seem to be upconverted to this driver rate if they are not already recorded in that format.
3) With the WASAPI plug-in, I can play CD tracks at the correct sampling rate.
4) I still cannot play the 96kHz tracks with WASAPI.

If I change the sound card setting I think everything will work just fine.
However it is really inconvenient to have to do that.

WASAPI output plugin

Reply #107
What sound card do you have?  You may have to bite the bullet and change the setting.

 

WASAPI output plugin

Reply #108
I've got a weird problem with this output plugin on my Win7 x64 system using an ATI 5670 and the Realtek ATI HDMI driver. The sound playback is perfect, but when I hit pause, I get a period of silence equal to the (buffer length - ~100ms), followed by the last 100ms or so of audio that was played. This repeats over and over until I hit play again. Changing the buffer length only seems to alter the amount of "silence" before the sound plays again.


Hi all.  This my first post here.
I am having the exact same problem as described by Mordred.  The WASAPI plugin works great in all respects except when I pause the audio I get the same repeating audio as he described.  I also have Windows 7 x64 using ATI4850 and the Realtek ATI HDMI driver.  Has anyone else had this problem or found a fix?
I love the WASAPI function and it is only a minor nuisance not to be able to use the PAUSE button, but it is a nuisance.

My new network card greatly improved the problem with DS output, but it would return after a period of time. I have to periodically kill my networking application which is a pain and less than ideal.

I went back to WASAPI and was still having the repeated sound bug 99% of the time I paused. It also wouldn't go away when I had the sound output paused and then hit stop. I was constantly having to mute the sound on my receiver to avoid driving myself nuts. HOWEVER, last week, I figured out how to make this stop. I discovered (by accidentally hitting the wrong button on my remote when trying to mute) that the WASAPI plugin will not make any audio output if the position in the track is changed WHILE the song is paused. 5 minutes later I had adjusted my pause macro to have foobar pause, skip backward 1 second and then skip forward 1 second. My pauses are completely quiet now. It seems to pause and resume at the exact point in playback too, which is perfect.

I set this fix up using EventGhost and my remote control, but for those people who use the mouse to control playback I'm sure it'd be really easy to alter your pause button code to pause and then jump backward and then jump forward.

WASAPI output plugin

Reply #109
I found a bug with WASAPI using Win 7 32-but and Soundblaster Audigy 2 ZS with Foobar2000 1.1.1. The problem is that if I have replaygain in use track / apply gain, it sounds like WASAPI s not in the loop. If I turn off replaygain processing, then the sound is better like WaSAPI is in the loop. Can this be fixed please? I've had to resort to the Kernal Streaming plugin that seems to work.

WASAPI output plugin

Reply #110
I set this fix up using EventGhost and my remote control, but for those people who use the mouse to control playback I'm sure it'd be really easy to alter your pause button code to pause and then jump backward and then jump forward.


This is great news that a solution has been found.  How would I go about altering the pause button code?  Sorry, I am not much of a programmer, although I will try.
Thanks.

WASAPI output plugin

Reply #111
I found a bug with WASAPI using Win 7 32-but and Soundblaster Audigy 2 ZS with Foobar2000 1.1.1. The problem is that if I have replaygain in use track / apply gain, it sounds like WASAPI s not in the loop. If I turn off replaygain processing, then the sound is better like WaSAPI is in the loop. Can this be fixed please? I've had to resort to the Kernal Streaming plugin that seems to work.

ReplayGain scales the volume digitally. It is unlikely to affect the sound quality noticeably. Of course, at the maximum bit depth of 16 supported by your sound card. (24-bit is only supported by the Audigy series under specific circumstances, unless you're using the kX drivers, in which case I don't know.) Thus, ReplayGain may reduce the noise floor a bit, but again, it shouldn't be noticeable.

Also, it shouldn't really be possible to hear the difference between DirectSound and WASAPI, when using the same settings. Unless with your sound card that it somehow bypasses the EAX processing or other processing effects of the sound card.

WASAPI output plugin

Reply #112
I found a bug with WASAPI using Win 7 32-but and Soundblaster Audigy 2 ZS with Foobar2000 1.1.1. The problem is that if I have replaygain in use track / apply gain, it sounds like WASAPI s not in the loop. If I turn off replaygain processing, then the sound is better like WaSAPI is in the loop. Can this be fixed please? I've had to resort to the Kernal Streaming plugin that seems to work.

ReplayGain scales the volume digitally. It is unlikely to affect the sound quality noticeably. Of course, at the maximum bit depth of 16 supported by your sound card. (24-bit is only supported by the Audigy series under specific circumstances, unless you're using the kX drivers, in which case I don't know.) Thus, ReplayGain may reduce the noise floor a bit, but again, it shouldn't be noticeable.

Also, it shouldn't really be possible to hear the difference between DirectSound and WASAPI, when using the same settings. Unless with your sound card that it somehow bypasses the EAX processing or other processing effects of the sound card.


Well, to my ears it does sound different and not as good with WASAPI and replaygain on. The problem is that  I would like others to give this a go as well.

WASAPI output plugin

Reply #113
This is great news that a solution has been found.  How would I go about altering the pause button code?  Sorry, I am not much of a programmer, although I will try.
Thanks.
Sorry, I didn't get notified that you had responded for some reason. Anyway, altering the pause button code is probably simple if you're using something like columns UI. I have no idea how you'd go about doing it for the default UI, or even if it's possible.

In my columns UI theme I went and found where the play/pause button was. It was displaying an image, and then at the end of the line it had the command to execute listed like this: ",COMMAND:'Playback/Play or Pause',"

I replaced the section in between the commas with this line:

",COMMAND:'Playback/Play or Pause',COMMAND:'Playback/Seek/Back by 1 second';COMMAND:'Playback/Seek/Ahead by 1 second',"

and now it works perfectly. Hope that will help you.

WASAPI output plugin

Reply #114
This is great news that a solution has been found.  How would I go about altering the pause button code?  Sorry, I am not much of a programmer, although I will try.
Thanks.
Sorry, I didn't get notified that you had responded for some reason. Anyway, altering the pause button code is probably simple if you're using something like columns UI. I have no idea how you'd go about doing it for the default UI, or even if it's possible.

In my columns UI theme I went and found where the play/pause button was. It was displaying an image, and then at the end of the line it had the command to execute listed like this: ",COMMAND:'Playback/Play or Pause',"

I replaced the section in between the commas with this line:

",COMMAND:'Playback/Play or Pause',COMMAND:'Playback/Seek/Back by 1 second';COMMAND:'Playback/Seek/Ahead by 1 second',"

and now it works perfectly. Hope that will help you.


Thanks again for the info.  I did figure out that I needed columns UI.  I wasn't sure how to insert multiple commands; ie Pause, ahead, back.

WASAPI output plugin

Reply #115
This is great news that a solution has been found.  How would I go about altering the pause button code?  Sorry, I am not much of a programmer, although I will try.
Thanks.
Sorry, I didn't get notified that you had responded for some reason. Anyway, altering the pause button code is probably simple if you're using something like columns UI. I have no idea how you'd go about doing it for the default UI, or even if it's possible.

In my columns UI theme I went and found where the play/pause button was. It was displaying an image, and then at the end of the line it had the command to execute listed like this: ",COMMAND:'Playback/Play or Pause',"

I replaced the section in between the commas with this line:

",COMMAND:'Playback/Play or Pause',COMMAND:'Playback/Seek/Back by 1 second';COMMAND:'Playback/Seek/Ahead by 1 second',"

and now it works perfectly. Hope that will help you.


What version Columns UI are you using?

WASAPI output plugin

Reply #116
Hello,

Windows 7 x64, Lynx L22, Foobar 1.1, Wasapi plugin 2.1.
44.1 kHz, 2 channels, 16bit works ok, but
192 kHz, 2 channels, 24bit: Unrecoverable playback error: Device not functioning (0x8007001F)

Any idea?

WASAPI output plugin

Reply #117
Hello,

Windows 7 x64, Lynx L22, Foobar 1.1, Wasapi plugin 2.1.
44.1 kHz, 2 channels, 16bit works ok, but
192 kHz, 2 channels, 24bit: Unrecoverable playback error: Device not functioning (0x8007001F)

Any idea?


Are you using the digital output channels or analog? It looks like your card only supports 192 kHz when using analog output.

WASAPI output plugin

Reply #118
I am using analog (AES) output... In ASIO foobar plugin works every frequence... so i think it should something to do with wasapi plugin (not shure)..

WASAPI output plugin

Reply #119
Is there any setup window for WASAPI? Beacuase I change PCI slot for Lynx, and now I cannot play anything through WASAPI.. Ive got Unrecoverable playback error: Device not functioning (0x8007001F)

WASAPI output plugin

Reply #120
What about a wasapi NON exclusive plugin, to replace the directsound output. Since the directsound is obsolete and it's "translated" wasapi output in real time in vista or win7, the directsound is an unnecessary step, and the non exclusive native wasapi output also gives much lower latency than the ds output.

WASAPI output plugin

Reply #121
Sanyigz, you're mistaken/misinformed on multiple issues.
  • DirectSound is necessary because not all hardware/drivers is capable of multiple-WASAPI hardware mixing.
  • DirectSound APIs are by no mean obsolete, it has just been redesigned in Vista to avoid the multiple design issues that XP's kmixer had.
  • For normal playback purposes, higher latency is better as the buffer provides protection against skipping.
elevatorladylevitateme

WASAPI output plugin

Reply #122
Sanyigz, you're mistaken/misinformed on multiple issues.
  • DirectSound is necessary because not all hardware/drivers is capable of multiple-WASAPI hardware mixing.
  • DirectSound APIs are by no mean obsolete, it has just been redesigned in Vista to avoid the multiple design issues that XP's kmixer had.
  • For normal playback purposes, higher latency is better as the buffer provides protection against skipping.


i talked about non exclusive wasapi. The non exclusive wasapi is same as the direct sound, no need for hardware mixing, but it skips the directsound-> wasapi conversion on vista/7(because from vista, the ds in only emulated, not native), so it needs less cpu time, less latency, but same funcionality as ds.
the buffer is a different topic, it is not depends on output... you can set 5 sec buffer on wasapi exclusive, or asio too.

BTW this not means that the full DS output should be removed, the ds, wasapi, and wasapi exclusive can exist at same time, it's just a plugin as asio or wasapi exclusive.

vista/7 audio stack

WASAPI output plugin

Reply #123
So basically, you want Peter to spend his time implementing a new feature which bring nothing new in functionality and supposedly (no proven documentation) use less CPU time and has less latency. Considering that how much CPU time foobar uses now compared to current processor, is that productive? Not to mention, as you implied in your post, regardless of the cause latency does not affect audio playback.

WASAPI output plugin

Reply #124
So basically, you want Peter to spend his time implementing a new feature which bring nothing new in functionality and supposedly (no proven documentation) use less CPU time and has less latency. Considering that how much CPU time foobar uses now compared to current processor, is that productive? Not to mention, as you implied in your post, regardless of the cause latency does not affect audio playback.


i don't want, but it would be good... BTW sooner or later, the ds emulation will be removed too from newer win releases.
If the exclusive mode is working, then this is the same api. so maybe the implementation of this, is just a simple switch (exclusive or non exclusive switch)...