Broadcast Driver Architecture (BDA) minidrivers control hardware that performs the following operations:
Tuning a digital broadcast signal
Demodulating the digital signal
Capturing frames of the digital signal
Demultiplexing the signal into video, audio, and data streams
BDA minidrivers are AVStream minidrivers that run under the AVStream module in the kernel-streaming driver ks.sys. AVStream is a class driver that provides a unified kernel streaming class model for both audio and video minidrivers, and that supports use of COM objects without altering existing minidriver binaries. The AVStream class driver provides much of the default behavior required to make a minidriver's filter work as a WDM kernel streaming compliant filter. To simplify the task of writing BDA minidrivers, you can use the BDA support library (Bdasup.lib) of functions that is included in the Microsoft Windows Driver Kit (WDK). This library provides extensive default handling for the BDA minidriver's property and method sets.
Typically, driver writers only have to code the appropriate static template structures, register them with the BDA support library, and then let the library provide default handling for all the properties and methods. In some instances, a BDA minidriver must intercept a property or method request and perform appropriate operations.
The following figure shows an architectural overview for BDA minidrivers:
The following sections describe implementation details for a BDA minidriver, discuss details of some property and method sets, and contain sample code that shows how to intercept certain properties and methods: