Skip to main content

 none
AVStream audio render issue RRS feed

  • Question

  • Dear all,

    I am developing an audio render using AVStream.
    It is now correctly displayed on the Playback Device.
    Then I used Graphedit to test.
    When the render filter in the "Audio Renderers" category is selected, the DispatchProcess of the pin is not called.
    I suspect that the pin did not receive the data, so the DispatchProcess was not called.
    But if I use "WDM Streaming Rendering Device" then everything works fine.
    I have confirmed that the state of the pin is already "KSSTATE_RUN".

    Please help me solve this problem, thank you.

    Here is the pin DESCRIPTOR for this driver:

    static
    const
    KSPIN_DESCRIPTOR_EX
    ksCaptureFilterPinDescriptors[] = {

        { //Audio Input Pin
          &ksCapturePinDispatch,                    // Dispatch
          NULL,                                     // AutomationTable
          { // PinDescriptor
            DEFINE_KSPIN_DEFAULT_INTERFACES,        // Interfaces
            DEFINE_KSPIN_DEFAULT_MEDIUMS,           // Mediums
            SIZEOF_ARRAY(ksAudioPinDataRanges),     // Range Count
    ksAudioPinDataRanges,                   // Ranges
            KSPIN_DATAFLOW_IN,                     // Dataflow
            KSPIN_COMMUNICATION_SINK,               // Communication (both source and sink)
    &KSCATEGORY_AUDIO,                      // Category
            NULL, // Name
            0                                       // Reserved
          },
          KSPIN_FLAG_FIXED_FORMAT | KSPIN_FLAG_RENDERER | KSPIN_FLAG_PROCESS_IN_RUN_STATE_ONLY, // Flags
          1,                                        // Instances Possible
          0,                                        // Instances Necessary
          &ksAudioPinAllocatorFraming,              // Allocator Framing
          reinterpret_cast<PFNKSINTERSECTHANDLEREX>(CapturePin::IntersectHandler)
        },

        { // Audio Output Pin
          NULL,                                     // Dispatch
          NULL,                                     // AutomationTable
          { // PinDescriptor
            DEFINE_KSPIN_DEFAULT_INTERFACES,        // Interfaces
            DEFINE_KSPIN_DEFAULT_MEDIUMS,           // Mediums
    SIZEOF_ARRAY(ksPinDataRanges),                                      // Range Count
    ksPinDataRanges,                                   // Ranges
            KSPIN_DATAFLOW_OUT,                      // Dataflow
            KSPIN_COMMUNICATION_NONE,               // Communication
            &KSNODETYPE_LINE_CONNECTOR,             // Category
            NULL, // Name
            0                                       // Reserved
          },
          KSPIN_FLAG_DO_NOT_USE_STANDARD_TRANSPORT, // Flags
          1,                                        // Instances Possible
          0,                                        // Instances Necessary
          NULL,                                     // Allocator Framing
          NULL                                      // IntersectHandler
        }

    };

    Friday, September 20, 2019 9:01 AM

All replies

  • The test in the HLK may be able to help narrow down the issue here.

    Tuesday, October 1, 2019 8:41 PM
    Moderator
  • The KSFILTER descriptor must include Node and Connections in order to be used as system audio. Please post your KSFILTER descriptor.
    Wednesday, November 27, 2019 12:14 AM