Matt Gonzalez <matt@xxxxxxxxxxxxx> wrote: > Sounds like you need to add support for KSPROPERTY_AUDIO_POSITION on > your pin. > > Matt > > Hugo Villeneuve wrote: > > >Hi, > > > > I'm totally new to WDM driver developement. I have a fully functional > > AVStream driver for our hardware that was developped for us, and we access > > it through the waveform API. The only thing missing is support for the > > function waveInGetPosition(). How do I register/add this functionality in > > my driver? > > > > Hugo Villeneuve Thank-you, I added the KSPROPERTY_AUDIO_POSITION to the sink pin of my capture driver and it works fine! Here is how I did it for reference: --------------------------------------------------------------------------------------------------------------------------- // ****************************** // * AUDIO_POSITION pin property // ****************************** #define DEFINE_KSPROPERTY_CLFW_AUDIO_POSITION( GetHandler, SetHandler )\ DEFINE_KSPROPERTY_ITEM(\ KSPROPERTY_AUDIO_POSITION,\ (GetHandler),\ sizeof( KSPROPERTY ),\ sizeof( ULONG ),\ (SetHandler),\ NULL,\ 0,\ NULL,\ NULL,\ 0 ) DEFINE_KSPROPERTY_TABLE( ksCapturePositionAudioPropertyItems ) { // GetCapturePosition is the callback function for GET DEFINE_KSPROPERTY_CLFW_AUDIO_POSITION( GetCapturePosition, NULL ) }; DEFINE_KSPROPERTY_SET_TABLE( ksCapturePosition_psTable ) { DEFINE_KSPROPERTY_SET( &KSPROPSETID_Audio, SIZEOF_ARRAY( ksCapturePositionAudioPropertyItems ), const_cast< PKSPROPERTY_ITEM >(ksCapturePositionAudioPropertyItems ), 0, NULL ) }; DEFINE_KSAUTOMATION_TABLE( ksCapturePosition_autTable ) { DEFINE_KSAUTOMATION_PROPERTIES( ksCapturePosition_psTable ), DEFINE_KSAUTOMATION_METHODS_NULL, DEFINE_KSAUTOMATION_EVENTS_NULL }; // ********************************* // * Filter Pins Descriptor // ********************************* KSPIN_DESCRIPTOR_EX ksMergedPinDescriptors[4] = { //-----------------------PLAYBACK PINS------------------------ { ... Descriptor for playback sink pin ... }, { ... Descriptor for playback output pin ... }, //---------------CAPTURE PINS---------------------- // Descriptor for capture sink pin. { &ksCapturePinDispatch, &ksCapturePosition_autTable, { 0, NULL, 0, NULL, SIZEOF_ARRAY(ksCaptureDataRanges), ksCaptureDataRanges, KSPIN_DATAFLOW_OUT, KSPIN_COMMUNICATION_SINK, &KSCATEGORY_AUDIO, NULL, 0 }, KSPIN_FLAG_DO_NOT_INITIATE_PROCESSING, 1, 0, NULL, CapturePinDataIntersectionHandler }, { ... Descriptor for capture bridge pin ... } }; -- ------------------------------------ Hugo Villeneuve Concepteur de produits, matériel / Product developer, hardware CVDS Inc. (514) 426-7879 ext.242 hvilleneuve@xxxxxxxx www.cvds.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.de/