[wdmaudiodev] Re: Few Questions on AVStream

  • From: Tim Roberts <timr@xxxxxxxxx>
  • To: wdmaudiodev@xxxxxxxxxxxxx
  • Date: Wed, 07 Jan 2009 10:36:05 -0800

swapnil kamble wrote:
>
>                   I have capture filter with orphan pin that is used
> as a capture pin. Now I made this filter registered under "Audio
> Capture Sources". It appears there too.
>  Correct me, if I am wrong.
>                   I am trying get the sink pin of the filter that we
> built, as capture pin. Because that's the only pin that appears in the
> Capture Filter.

I don't understand this.  Is it a capture filter (which has a source
pin) or a render filter (which has a sink pin)?


> So Pin Struct is
>
> Sink Pin =
>      {
>         &AudioCapturePinDispatch,
>         NULL,
>         {
>             SIZEOF_ARRAY( PinInterfaces_Wave ),
>             (KSPIN_INTERFACE*) &PinInterfaces_Wave,
>             SIZEOF_ARRAY( PinMediums_Wave ),
>             (KSPIN_MEDIUM*) &PinMediums_Wave,
>             SIZEOF_ARRAY( PinAudioFormatRanges_WaveSink ),
>             PinAudioFormatRanges_WaveSink,
>             KSPIN_DATAFLOW_OUT,
>             KSPIN_COMMUNICATION_SINK,
>             &KSCATEGORY_AUDIO,                  // Category
>             &g_PINNAME_AUDIO_CAPTURE,           // Name
>             0
>         },

A sink pin will not have dataflow going OUT.  Sinks have data coming
IN.  The name comes from plumbing.  Your sink has water coming IN.  The
faucet is the source.


> 2.from  KSPIN_COMMUNICATION_BOTH       to          
> KSPIN_COMMUNICATION_SINK,
>
> 3. from NULL to
>              SIZEOF_ARRAY( PinInterfaces_Wave ),
>             (KSPIN_INTERFACE*) &PinInterfaces_Wave,
>             SIZEOF_ARRAY( PinMediums_Wave ),
>             (KSPIN_MEDIUM*) &PinMediums_Wave,
>
> These are basically must for getting driver under "Audio Capture
> Sources".

For an audio capture source, you do not want KSPIN_COMMUNICATION_SINK. 
Use either SOURCE or BOTH.


> 1. when I right click on my Capture Pin and chooses "Render this Pin"
> my IntersectHandler and DispatchSetFormat and DispatchSetCreate are
> invoked repeatedly. And all call succeeds to return SUCSESS. But error
> comes as "Filter Graph Can't Render this pin....No h/w avaialable with
> error code (0x80040256)"

That's VFW_E_NO_AUDIO_HARDWARE.  Do you actually have a sound card in
this computer?

-- 
Tim Roberts, timr@xxxxxxxxx
Providenza & Boekelheide, Inc.

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

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: