[wdmaudiodev] Re: AVStream - Dynamically constraining to a specific DataRange based on HW.

  • From: Harry Graham <harry_graham@xxxxxxxxxx>
  • To: "'wdmaudiodev@xxxxxxxxxxxxx'" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Thu, 10 Jul 2003 14:59:24 -0700

You should validate the format when the SetDataFormat dispatch is invoked,
and return STATUS_NO_MATCH if it does not correspond to the currently
available settings.  Also note that unless pOldFormat (the second parameter)
is set, then SetDataFormat only validates the format, but does not actually
set the format for the pin.
Whenever the format is actually set (either by SetDataFormat with
pOldFormat, or when the pin is created) you must also update the allocator
I don't think that you should ever need to KsEdit the KSPIN_DESCRIPTOR_EX to
remove formats that are not currently supported, but it shouldn't hurt
-----Original Message-----
From: wade [mailto:wdawson61@xxxxxxxxx] 
Sent: Thursday, July 10, 2003 12:25 PM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] AVStream - Dynamically constraining to a specific
DataRange based on HW.
I have a capture-only, pin-centric AVStreams capture driver. I need to force
clients of the driver to accept a specific bit-depth and sample rate as
dictated by the bitsream connect to my hardware. Does anyone know the best
way to do this?
I am attempting to KsEdit the KSPIN_DESCRIPTOR_EX datarange on the fly to
reflect ONLY the curent sample rate and bit depth, but don't know if this is
the right procedure.  I have also tried supplying an IntersectHandler
function through the IntersectHandler member of the pin's
KSPIN_DESCRIPTOR_EX structure.  I was hoping I could just return a
WAVEFORMATPCMEX structure which refelcts my current hardware reported sample
rate and bit depth.  Unfortunately, my IntersectHandler function is never
getting called.
Do I have to return STATUS_NO_MATCH from the pin's SetDataFormat() dispatch
at least once to force a format negotiation or something? I'm curently
returning STATUS_SUCESS form this dispatch.
Thanks for any help.

Do you Yahoo!?
/>  Yahoo! DSL - Now only $29.95 per month!

Other related posts: