BDA Tuner Driver

[This is preliminary documentation and subject to change.]

SUMMARY

This sample is the source code for a Broadcast Driver Architecture (BDA) tuner driver. It is provided as an example of a BDA device minidriver for the AVStream class of kernel streaming. Use the BDA tuner driver with a Philips tuner card.

BUILDING THE SAMPLE

To build the sample, open a DDK command window, change to the BDA directory, and use the build command. Before you can use the sample, you need to install the Philips tuner card.

To install the tuner card, shut down the computer, insert the tuner card, and boot. The operating system uses the PhilTune.inf file to detect and install the tuner card.

After the tuner card is installed, the built sample, Philtune.sys, is in the %SystemRoot%\System32\Drivers directory of the operating system.

Building this sample produces one file: Philtune.sys. Both free and checked versions are buildable.

TOOLS

The BDA network provider filter uses the BDA tuner driver to configure a filter in a filter graph. This filter is used to tune and demodulate a digital signal. Other filters in the filter graph capture video frames and present the video on the display.

RESOURCES

To get a logo for your device, consult the WHQL Web site for information and test suites.

Your device should support Plug and Play. Download Plug and Play specs from their Web site.

CODE TOUR

File Manifest

File			Description

Antenna.cpp		Implements the class for the input Antenna pin
Ari.cpp			Implements the ARI-chip properties of the device class 
Bdadebug.h		Contains macros that the driver uses for debugging
Bdaguid.c		Includes header files used for defining GUIDs
Bdatune.htm		The documentation for this sample (this file)
Common.h		Includes necessary header files, like Bdasup.h
DevCaps.cpp		Contains data specific to hardware
Device.cpp		Main code of BDA device, including driver-entry point
Filter.cpp		Implements methods of the filter class 
FiltProp.cpp		Implements properties of the filter class 
Gpio.cpp		Implements the GPIO class 
Gpio.h			Defines GPIO class
I2Script.cpp		Implements the class for the Inter-IC (I2C) bus that is used 
			to connect integrated circuits (ICs) on the card
I2Script.h		Defines structure for the I2C bus
Ksvsb.h			Defines constants and structures for VSB 
			that are also used in user mode
Makefile		The makefile for the project; do not edit.
Medguid.h		Contains definitions of medium GUIDs 
Mpoc.cpp		Implements the MPOC-chip properties of the device class 
Mpoc.h			Defines constants and structures for MPOC chip
ObjDesc.cpp		Defines automation and dispatch tables and 
			template structures
PhilTune.h		Defines classes for filter, device, and filter I/O pins
PhilTune.inf		Installation information for the sample
PhilTune.rc		Version information resource
Sources			DDK build instructions
Trnsport.cpp		Implements the class for the output Transport pin
Tuneprop.cpp		Implements the tuner-chip properties of the device class
Tuner.cpp		Implements the tuner class -- Sets up the tuner node
Tuner.h			Defines tuner class
Tunerdef.h		Defines tuner constants and structures
Util.cpp		Implements supporting functions
Util.h			Defines supporting functions
Vsb.h			Defines constants and structures for VSB 
Vsb1.cpp		Implements the VSBDemod1 class -- Sets the demodulator node
Vsb1.h			Defines the VSBDemod1 class 
Vsb2.cpp		Implements the VSBDemod2 class -- Sets the demodulator node
Vsb2.h			Defines the VSBDemod2 class 
Vsbbase.cpp		Implements the VSBDemod class -- Sets the demodulator node
Vsbbase.h		Defines the VSBDemod class 
Vsbdef.h		Defines more constants and structures for VSB 
Vsbprop.cpp		Implements the VSB properties of the device class
Wdmcommon.h		Defines constants and structures that are common to WDM
Wdmdebug.h		Contains macros for WDM debugging
Wdmdrv.h		Defines constants and structures for a WDM driver

Programming Tour

The ObjDesc.cpp file contains definitions and templates that the network provider filter uses to determine topology, to configure and change a filter instance, and to manipulate tuner and demodultor nodes. The BDA tuner driver registers these definitions and templates with the BDA support library so the library can handle most aspects of these operations. Other files of this sample define constants, structures, and classes and implement methods for those classes.

Top of page

© 2000 Microsoft Corporation