[wdmaudiodev] Re: Fwd: Re: KSPROPERTY_JACK_DESCRIPTION

  • From: "Nikolay V. Pyatkov" <npyatkov@xxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Wed, 28 Feb 2007 11:48:58 -0500

Can anybody point me to a sample of code which uses KSPROPERTY_JACK_DESCRIPTION?

Thanks,

Nikolay


------ Original Message ------
Received: Fri, 23 Feb 2007 01:08:38 PM EST
From: "Nikolay V. Pyatkov" <npyatkov@xxxxxxx>
To: <wdmaudiodev@xxxxxxxxxxxxx>
Subject: [wdmaudiodev] Re: Fwd: Re: KSPROPERTY_JACK_DESCRIPTION


No I do not see that message.

Just to test my sanity I have added two KdPrint() 's

The output from GetDescrioption() is:

pin no. 0, AutomationTable 00000000
pin no. 1, AutomationTable 00000000
pin no. 2, AutomationTable 00000000
pin no. 3, AutomationTable 00000000
pin no. 4, AutomationTable 86BB3418
pin no. 5, AutomationTable 00000000

Looks like the tablbe is attached to the speaker pin, but the PropertyHandlerGeneric() is never called with KSPROPERTY_JACK_DESCRIPTION parameter.

Also I do not see any unrecognized properties in the KsStudio log windows.

Thanks,

Nikolay


NTSTATUS

CMiniportTopologyMSVAD::PropertyHandlerGeneric(IN PPCPROPERTY_REQUEST PropertyRequest)

{
 switch (PropertyRequest->PropertyItem->Id)

 {

 case KSPROPERTY_JACK_DESCRIPTION:

  ntStatus = PropertyHandlerJack(PropertyRequest);

  KdPrint(("[PropertyHandlerGeneric: KSPROPERTY_JACK_DESCRIPTION]"));

  break;

 }


} // PropertyHandlerGeneric

 

CMiniportTopologyMSVAD::GetDescription( PPCFILTER_DESCRIPTOR *  OutFilterDescriptor )
{
    *OutFilterDescriptor = m_FilterDescriptor;
    unsigned int i;
    for (i = 0; i < m_FilterDescriptor->PinCount; i++)
    {
        KdPrint(("pin no. %d, AutomationTable %p\n",
            i, m_FilterDescriptor->Pins[i].AutomationTable));
    }
    return (STATUS_SUCCESS);
} // GetDescription



------ Original Message ------
Received: Thu, 22 Feb 2007 07:03:56 PM EST
From: Mitchell Rundle <mitchr@xxxxxxxxxxxxx>
To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
Subject: [wdmaudiodev] Re: Fwd: Re: KSPROPERTY_JACK_DESCRI PTION


Correct, KSStudio hasn’t yet been updated to show jack info.  If you search the logging window though, it should show

 

KSStudio does not recognize property GUID {4509F757-2D46-4637-8E62-CE7DB944F57B} supported by the filter.

This is not a driver bug.

 

Regards,

Mitch

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Cheng-mean Liu (SOCCER)
Sent: Thursday, February 22, 2007 2:31 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Fwd: Re: KSPROPERTY_JACK_DESCRIPTION

 

I don’t think KSStudio would display it because KSStudio does not know such a new KSPROPSETID.

You can verify this by running your HD Audio device with inbox HDAudio driver and check information from mmsys.cpl and ksstudio.

 

From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Nikolay V. Pyatkov
Sent: Thursday, February 22, 2007 2:10 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Fwd: Re: KSPROPERTY_JACK_DESCRIPTION

 

I tried that too. Works the same. Should not KsStudio report at least something about this new property for the pin?

 

Thanks,

Nikolay




------ Original Message ------
Received: Thu, 22 Feb 2007 02:12:44 PM EST
From: "Cheng-mean Liu (SOCCER)" <soccerl@xxxxxxxxxxxxx>
To: "wdmaudiodev@xxxxxxxxxxxxx" <wdmaudiodev@xxxxxxxxxxxxx>
Subject: [wdmaudiodev] Re: KSPROPERTY_JACK_DESCRIPTION


I would try to replace KSPROPSETID_Audio with KSPROPSETID_Jack in your PCPROPERTY_ITEM structure for the topology filter
{
&KSPROPSETID_Jack, //<---------------------------like this line
KSPROPERTY_JACK_DESCRIPTION,
KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT,
PropertyHandler_Topology
},

Thanks.

Cheng-mean Liu
Microsoft Corporation
This posting is provided "AS IS" with no warranties, and confers no rights.

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx [mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx] On Behalf Of Nikolay V. Pyatkov
Sent: Thurs d ay, February 22, 2007 7:07 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] KSPROPERTY_JACK_DESCRIPTION

I need to display speaker connection status in a portcls audio driver. To
begin I have modified audio/msvad/simple code in the DDK 6000. But the jack
is not displayed on the audio panel and the KsStudio does not show the
KSPROPERTY_JACK_DESCRIPTION when the driver is instantiated. The code is
below.

Any help or code sample would be appreciated.

Thanks,
Nikolay


static PCPROPERTY_ITEM PropertiesJack[] =
{
{
&KSPROPSETID_Audio,
KSPROPERTY_JACK_DESCRIPTION,
KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT,
PropertyHandler_Topology
},
{
&KSPROPSETID_Audio,
KSPROPERTY_AUDIO_CPU_RESOURCES,
KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT,
PropertyHandler_Topology
}
};

DEFINE_PCAUTOMATION_TABLE_PROP(AutomationJack, PropertiesJack);



// KSPIN_TOPO_LINEOUT_DEST (output jack)
{
0,
0,
0, // InstanceCount
&AutomationJack, // AutomationTable
{ // KsPinDescriptor
0, // InterfacesCount
NULL, // Interfaces
0, // MediumsCount
NULL, // Mediums
SIZEOF_ARRAY(PinDataRangePointersBridge), // DataRangesCount
PinDataRangePointersBridge, // DataRanges
KSPIN_DATAFLOW_OUT, // DataFlow
KSPIN_COMMUNICATION_NONE, // Communication
&KSNODETYPE_SPEAKER, // Category
NULL, // Name
0 // Reserved
}
},



// KSPROPERTY_JACK_DESCRIPTION handler
NTSTATUS CMiniportTopologyMSVAD::PropertyHandlerJack
(
IN PPCPROPERTY_REQUEST PropertyRequest
)
{
NTSTATUS ntStatus = STATUS_INVALID_DEVICE_REQUEST;


typedef struct
{
KSMULTIPLE_ITEM mult_item;
KSJACK_DESCRIPTION dsc;
} tJackProperty;

tJackProperty * pJackProperty;


if (PropertyRequest->Verb & KSPROPERTY_T YP E_GET)
{
ntStatus = ValidatePropertyParams(PropertyRequest,
sizeof(tJackProperty));
if (NT_SUCCESS(ntStatus))
{
pJackProperty = (tJackProperty *)PropertyRequest->Value;
pJackProperty->mult_item.Size = sizeof(tJackProperty);
pJackProperty->mult_item.Count = 1;
pJackProperty->dsc.ChannelMapping = 1; //ePcxChanMap_Unknown;
pJackProperty->dsc.Color = 0x808080; // Grey?
pJackProperty->dsc.ConnectionType = eConnTypeUnknown;
pJackProperty->dsc.GeoLocation = eGeoLocFront;
pJackProperty->dsc.GenLocation = eGenLocOther;
pJackProperty->dsc.PortConnection = ePortConnUnknown;
pJackProperty->dsc.IsConnected = getSpeakerConnectionStatus();
}
}
else if (PropertyRequest->Verb & KSPROPERTY_TYPE_BASICSUPPORT)
{
ntStatus =
PropertyHandler_BasicSupport
(
PropertyRequest,
KSPROPERTY_TYPE_GET | KSPROPERTY_TYPE_BASICSUPPORT,
VT_ILLEGAL
);
}

retu rn ntStatus;
}
******************

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: