[wdmaudiodev] Re: Unexpected default sound device on Windows

  • From: Roman Kudinov <roman.kudinov@xxxxxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Sat, 4 Mar 2017 00:43:49 +0300

Filed the problem report. I used unsigned developer version of the driver. If you'd like me to perform the same operations with the signed driver, then please let me know.


03.03.2017 19:27, Matthew van Eerde (Redacted sender Matthew.van.Eerde for DMARC) пишет:


Can you file a “problem report” showing the case where the “never set as default” property is set, but the endpoint is the default anyway?

https://blogs.msdn.microsoft.com/matthew_van_eerde/2016/09/26/report-problems-with-logs-and-suggest-features-with-the-feedback-hub/

That should grab some useful logs.

*From: *Roman Kudinov <mailto:roman.kudinov@xxxxxxxxxxxx>
*Sent: *Friday, March 3, 2017 2:54 AM
*To: *wdmaudiodev@xxxxxxxxxxxxx <mailto:wdmaudiodev@xxxxxxxxxxxxx>
*Subject: *[wdmaudiodev] Re: Unexpected default sound device on Windows

I've compiled the pure MSVAD simple driver and it also has such a behavior - it gets set as default right after installation.

I've made tests with USB Audio stick - Windows doesn't remember it as a default sound device. When it's plugged in it is necessary to set is as default manually.

On 02.03.2017 19:32, Matthew van Eerde (Redacted sender Matthew.van.Eerde for DMARC) wrote:

    Does the NeverSetAsDefault property show up on your endpoint if
    you run this tool?

    
https://blogs.msdn.microsoft.com/matthew_van_eerde/2011/06/13/how-to-enumerate-audio-endpoint-immdevice-properties-on-your-system/

    Printers and Devices groups everything by the “Container ID”
    property. There should be a container with the same name as your
    computer. If you double-click this and click on the “Hardware” tab
    you should see all the built-in devices, including the Realtek
    audio device.

    *From: *Roman Kudinov <mailto:roman.kudinov@xxxxxxxxxxxx>
    *Sent: *Thursday, March 2, 2017 6:54 AM
    *To: *wdmaudiodev@xxxxxxxxxxxxx <mailto:wdmaudiodev@xxxxxxxxxxxxx>
    *Subject: *[wdmaudiodev] Re: Unexpected default sound device on
    Windows

    Hi Matthew,

    Thank you for your advise, but unfortunately this property has no
    any effect. Here is a snippet of my INF file:


        [MP4RecorderVAD.Interfaces]
        AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,MP4RecorderVAD.I.Wave
        AddInterface=%KSCATEGORY_RENDER%,%KSNAME_Wave%,MP4RecorderVAD.I.Wave
        AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,MP4RecorderVAD.I.Topo



        [MP4RecorderVAD.I.Topo]
        AddReg=MP4RecorderVAD.I.Topo.AddReg
        [MP4RecorderVAD.I.Topo.AddReg]
        HKR,,CLSID,,%Proxy.CLSID%
        HKR,,FriendlyName,,%MP4RecorderVAD.Topo.szPname%
        HKR,EP\0,%PKEY_AudioEndpoint_Association%,,%KSNODETYPE_ANALOG_CONNECTOR%
        
HKR,EP\0,%PKEY_AudioDevice_NeverSetAsDefaultEndpoint%,0x00010001,0x00000105
        
HKR,EP\0,%PKEY_AudioDevice_EnableEndpointByDefault%,0x00010001,0x00000101

        [Strings]
        .....
        KSNODETYPE_ANALOG_CONNECTOR="{DFF21FE1-F70F-11D0-B917-00A0C9223196}"
        
PKEY_AudioEndpoint_Association="{1DA5D803-D492-4EDD-8C23-E0C0FFEE7F0E},2"
        
PKEY_AudioDevice_NeverSetAsDefaultEndpoint="{F3E80BEF-1723-4FF2-BCC4-7F83DC5E46D4},3"
        
PKEY_AudioDevice_EnableEndpointByDefault="{F3E80BEF-1723-4FF2-BCC4-7F83DC5E46D4},4"


    I use analog connector to make sure that the properties in INF
    file are specified correctly. Analog connectors are disabled by
    default, so I use PKEY_AudioDevice_EnableEndpointByDefault to
    enable it automatically. This property is applied correctly.
    Unfortunately PKEY_AudioDevice_NeverSetAsDefaultEndpoint does not
    have any effect.

    The weird thing I noticed in Windows 10 is that in Printers and
    Devices section of Control Panel there is an endpoint device for
    my VAD, e.g. either speaker or analog connector. But there is no
    an appropriate endpoint device for the builtin Realtec audio
    device. What can be the reason for this behavior?



        From: "Matthew van Eerde"<dmarc-noreply@xxxxxxxxxxxxx> 
<mailto:dmarc-noreply@xxxxxxxxxxxxx>  (Redacted sender "Matthew.van.Eerde" for DMARC)

        Subject: [wdmaudiodev] Re: Unexpected default sound device on Windows 10

        Date: Wed, 1 Mar 2017 16:25:02 +0000

        You can set this property in your .inf to make your audio device 
ineligible to be default.

        PKEY_AudioDevice_NeverSetAsDefaultEndpoint

        
https://msdn.microsoft.com/en-us/library/windows/hardware/ff537750(v=vs.85).aspx
        
<https://msdn.microsoft.com/en-us/library/windows/hardware/ff537750%28v=vs.85%29.aspx>

        From: Roman<mailto:dmarc-noreply@xxxxxxxxxxxxx>
        <mailto:dmarc-noreply@xxxxxxxxxxxxx>

        Sent: Tuesday, February 28, 2017 11:36 PM

        To:wdmaudiodev@xxxxxxxxxxxxx
        <mailto:wdmaudiodev@xxxxxxxxxxxxx><mailto:wdmaudiodev@xxxxxxxxxxxxx>
        <mailto:wdmaudiodev@xxxxxxxxxxxxx>

        Subject: [wdmaudiodev] Unexpected default sound device on Windows 10

        Hi,

        I have a virtual audio device driver based on MSVAD Simple. It works

        pretty well, but I start experiencing the problem on Windows 10. I don't

        know if this was the issue before the Anniversary Update as all of my

        Windows 10 machines got updated already, but it is definitely works

        another way in Windows 7.

        The purpose of the VAD is to record audio from own software. Our

        software uses a 3rd party component that outputs audio, that needs to be

        recorded. The only control we have over this component is the ability to

        specify which audio device to output audio to. So my VAD is never

        purposed to be a default sound device, it is purposed to work with our

        software only.

        Basically things work fine, but recently we encountered an unexpected

        behavior. If a user accidentally sets our VAD as the default sound

        device then Windows 10 remembers this. If a user later changes the

        default sound device to a real sound card then things work good until

        VAD is re-installed. If the VAD is reinstalled then Windows recalls that

        some day this device was set as a default and sets it to be default

        automatically. OS reboot after uninstallation of VAD doesn't help. This

        is TRUE if and only if VAD was set as a default device at least once.

        This is a real problem because all audio on a computer disappears for a

        user.

        I thought that Microsoft's policy was to never set the default sound

        device automatically, only by the explicit user actions. It is true for

        Windows 7, but it's not for Windows 10.

        As soon as the policy changed, then probably there are new INF sections

        or some API that could prohibit setting of my VAD as a default device?

        Does anyone here know any information about it?

        --

        Thanks,

        Roman

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


--
Best regards,
Román Kudinov

Other related posts: