[wdmaudiodev] Re: WaveRT weird problem

  • From: Robert Bielik <robert.bielik@xxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Thu, 27 Oct 2011 06:15:37 +0200

Hi Matthew,

Matthew van Eerde skrev 2011-10-26 22:24:
We've had trouble in the past with drivers claiming support for _NOTIFICATION 
but not implementing it correctly.  The endpoint property was created to allow 
drivers to doubly advertise support; if a driver claims support for 
_NOTIFICATION but doesn't have the property key set, that's worth raising an 
eyebrow over.

Ok, I see.

Windows 7 will revert to the non-_NOTIFICATION path.

That's what I do too, first if KSPROPERTY_RTAUDIO_QUERY_NOTIFICATION_SUPPORT 
says FALSE, and secondly if _NOTIFICATION fails. But it is the same here, i.e. 
I get the same ERROR_INVALID_PARAMETER with the KSPROPERTY_RTAUDIO_BUFFER 
request.

Another possibility is that there's simply an alignment error.  When you use 
the HD Audio driver, are you asking for the same size buffer?  Running 
http://blogs.msdn.com/b/matthew_van_eerde/archive/2009/04/03/sample-wasapi-exclusive-mode-event-driven-playback-app-including-the-hd-audio-alignment-dance.aspx
 should help diagnose whether this is the issue.

Yes, I'm asking for the same size buffer in both cases.

But that's an interesting point though, the 128 byte alignment issue. Where is 
that documented on MSDN ? I.e. it would be good to have a link to the relevant 
HD audio spec with regard to the RequestedBufferSize field of 
KSRTAUDIO_BUFFER_PROPERTY...

This post (http://comments.gmane.org/gmane.linux.alsa.devel/87506) seems to 
indicate that it is not a necessary constraint from the HD Audio spec. In that 
case, it is a driver bug (or feature).

Thanks,
/Rob


-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx 
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Robert Bielik
Sent: Wednesday, October 26, 2011 12:37 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: WaveRT weird problem

Hello Matthew,

Matthew van Eerde skrev 2011-10-26 17:44:
If you dump the endpoint properties for this device (with the Conexant driver) 
do you see a PKEY_AudioEndpoint_Supports_EventDriven_Mode property with value 1?

I don't know, and I'm not sure I'll be able to test again with the PC (it's "flying away" 
tomorrow), but as I said, KSPROPERTY_RTAUDIO_QUERY_NOTIFICATION_SUPPORT returns TRUE, which I guess 
is the "horses mouth" with regard to the PKEY_AudioEndpoint_Supports_EventDriven_Mode 
property (?)

I mean, I'm down in the WDM/KS dumps, so WASAPI Endpoint properties don't really concern me. But it 
is a fact that Windows 7 somehow does "make it" to the device buffer, which I don't. The 
docs say "Events are registered using KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT _after_ 
successfully calling KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION" and that never happens, 
which it acc. to KSPROPERTY_RTAUDIO_QUERY_NOTIFICATION_SUPPORT should (!)

Regards,
/Rob


http://blogs.msdn.com/b/matthew_van_eerde/archive/2011/06/13/how-to-en
umerate-audio-endpoint-immdevice-properties-on-your-system.aspx


-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Robert Bielik
Sent: Wednesday, October 26, 2011 7:30 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: WaveRT weird problem

Robert Bielik skrev 2011-10-26 15:38:
and I get FALSE result and GetLastError() returns
ERROR_INVALID_PARAMETER. This code works fine on _several_ other
machines, also on Windows 7 machines, and the device works fine
otherwise in Windows 7, hence I must be doing something wrong (?)


Further to this, just for the heck of it, I uninstalled the Conexant
device, and during the driver installation procedure, I skipped
Windows update so that the Microsoft HDAudio.sys was chosen instead, and then 
the code works fine. A workaround, but not good, since the Conexant driver does 
work in Windows 7, so I'd like to be able to make portaudio work with it too...

Regards,
/Rob
******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/


******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/


******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/


******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/


******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.com/

Other related posts: