[wdmaudiodev] AVStream Filter Driver

  • From: "chinahearing" <chinahearing@xxxxxxxxx>
  • To: "wdmaudiodev" <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Tue, 25 May 2010 21:52:18 +0800

Hi, Guys.
  I have to write a AVstream filter centric driver which should be installed as 
a ks volumn filter. The filter has two pins-sink and source, and a internal 
volumn node. I modify the code of avssamp. My target is to make such filter 
graph available:
  source filter--->volumn filter---->audio render filter(wave out device)

  Using GraphEdit, I can connect a source filter with the volumn filter, but 
failed to connect volumn filter with audio render filter with an error 
0x80040217. If I directly connect source filter to audio render filter, they 
can connect.
  I I think my pin descripters are not very right. This is the two pin 
descriptoer i wrote:

const 
KSPIN_DESCRIPTOR_EX
CaptureFilterPinDescriptors [CAPTURE_FILTER_PIN_COUNT] = 
{
{
&PinDispatch,
NULL,             
{
NULL,                           // Interfaces (NULL, 0 == default)
0,
NULL,                           // Mediums (NULL, 0 == default)
0,
SIZEOF_ARRAY (PinDataRanges), // Range Count
PinDataRanges,      // Ranges
KSPIN_DATAFLOW_IN,             // Dataflow
KSPIN_COMMUNICATION_BOTH,       // Communication
&KSCATEGORY_AUDIO,              // Category
NULL,       // Name
0                               // Reserved
},
KSPIN_FLAG_FRAMES_NOT_REQUIRED_FOR_PROCESSING | // Flags
KSPIN_FLAG_DO_NOT_INITIATE_PROCESSING |
KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY,
1,                                  // Instances Possible
0,                                  // Instances Necessary
&PinAllocatorFraming,   // Allocator Framing
reinterpret_cast <PFNKSINTERSECTHANDLEREX> 
(IntersectHandler)
},

    {
        &PinDispatch,
        NULL,             
        {
            NULL,                           // Interfaces (NULL, 0 == default)
            0,
            NULL,                           // Mediums (NULL, 0 == default)
            0,
            SIZEOF_ARRAY (PinDataRanges), // Range Count
            PinDataRanges,      // Ranges
            KSPIN_DATAFLOW_OUT,             // Dataflow
            KSPIN_COMMUNICATION_BOTH,       // Communication
            &KSCATEGORY_AUDIO,              // Category
            &g_PINNAME_VIDEO_CAPTURE,       // Name
            0                               // Reserved
        },
        KSPIN_FLAG_FRAMES_NOT_REQUIRED_FOR_PROCESSING | // Flags
            KSPIN_FLAG_DO_NOT_INITIATE_PROCESSING |
            KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY,
        1,                                  // Instances Possible
        0,                                  // Instances Necessary
        &PinAllocatorFraming,   // Allocator Framing
        reinterpret_cast <PFNKSINTERSECTHANDLEREX> 
            (IntersectHandler)
    }
};

 Any suggestion is appreciated! 

Attachment: chinahearing@gmail.com.jpg
Description: JPEG image

Other related posts: