Connecting Between Pins of Filters for BDA Minidrivers

To let pins of BDA filters connect to each other, BDA minidrivers for those filters must provide lists of data ranges for the pins as described in Data Range Intersections in AVStream. In other words, pins of filters specify the data ranges they support to enable stream connections to pins of other filters that also support those data ranges.

For example, to let pins of BDA tuner and capture filters connect, the output pin of the tuner filter and the input pin of the capture filter must have the following data formats set in the KSDATARANGE structures for the pins:

  • MajorFormat set to STATIC_KSDATAFORMAT_TYPE_STREAM

  • SubFormat set to STATIC_KSDATAFORMAT_TYPE_MPEG2_TRANSPORT

  • Specifier set to STATIC_KSDATAFORMAT_SPECIFIER_BDA_TRANSPORT

To let pins of BDA capture and demultiplex filters connect, the output pin of the capture filter and the input pin of the demultiplex filter must have the following data formats set in the KSDATARANGE structures for the pins:

  • MajorFormat set to STATIC_KSDATAFORMAT_TYPE_STREAM

  • SubFormat set to STATIC_KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT

  • Specifier set to STATIC_KSDATAFORMAT_SPECIFIER_NONE

Note   You can only set a demultiplex filter's input pin to the STATIC_KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT subformat if the AVStream minidriver for the filter is BDA compliant. If the media type for the input pin is set to STATIC_KSDATAFORMAT_SUBTYPE_BDA_MPEG2_TRANSPORT and the filter does not comply to BDA rules, the broadcast signal might not render properly.