BDA COM Interfaces
The following Microsoft® Broadcast Driver Architecture (BDA) COM interfaces are accessible to C/C++ applications:
Tuning Space Interfaces
Applications can create or access a Tuning Space using the Tuning Space Container object, which supports ITuningSpaceContainer. You will never use the base class ITuningSpace interface directly; you will always use a derived interface that is specific to a particular network type.
ITuningSpace | Base class for specific tuning space interfaces. |
IAnalogRadioTuningSpace | Tuning Space specific to terrestrial Radio networks. |
IAnalogTVTuningSpace | Tuning Space specific to analog TV networks. |
IATSCTuningSpace | Tuning Space specific to ATSC networks. |
IDVBTuningSpace | Tuning Space specific to DVB networks. |
ITuningSpaceContainer | Created by applications to create new Tuning Spaces or enumerate or modify existing ones. |
IEnumTuningSpaces | Standard COM enumeration interface for Tuning Spaces. |
Tune Request Interfaces
Tune requests are not created directly by applications. They are created through a call to ITuningSpace::CreateTuneRequest on the Tuning Space object. After receiving a pointer to the returned object, an application calls QueryInterface on that object for the network-specific interface that will be used to modify the Tune Request.
ITuneRequest | Exposed on Tune Request objects, which are created by a Tuning Space object. Applications can modify and submit Tune Requests to the Tuner. |
IChannelTuneRequest | Implemented on Tune Request objects specific to analog TV networks. |
IATSCChannelTuneRequest | Implemented on Tune request objects specific to ATSC TV networks. |
Stream Component Interfaces
A "component" in this context refers to a substream within a broadcast. Applications create Component objects only in order to specify a set of default preferred component types that will be associated with a Tuning Space. The actual components of a broadcast stream can only be discovered after reception begins. The Network Provider at that point will fill in the Component object information and the application can then retrieve this information and use it, for example, to change the audio stream or determine which audio streams are currently available.
IComponent | Base class for specific component interfaces. |
IComponentType | Base class for specific component type interfaces. |
IComponentTypes | Provides a standard COM enumeration of component types. |
IComponents | Provides a standard COM enumeration of components. |
ILanguageComponentType | Component type associated with the language of the substream. |
IMPEG2ComponentType | Implemented on a component type associated with an MPEG-2 stream type. |
IATSCComponentType | Implemented on a component type that indicates whether the audio substream is in AC-3 format. |
IEnumComponents | Implemented on a standard COM collection object containing all the active or inactive components on the current broadcast stream. |
Locator Interfaces
Locator objects are used in some cases by the Network Provider and other filters in the graph to determine how and where to tune to implement a Tune Request. These interfaces are not used by applications except possibly for debugging purposes.
ILocator | Base class for network-type specific tuning space locators. Not used by applications. |
IATSCLocator | Called by the Network Provider to obtain information about tuning within an ATSC network. Not used by applications. |
Network Provider Interfaces
These interfaces are exposed on the Network Provider filter and enable the filter to process Tune Requests and other commands from an application.
ITuner | Base class interface for accepting Tune Requests and other data from an application. Supported on the Network Provider filter in the filter graph. |
IScanningTuner | Supported on the Network Provider filter in the filter graph. Inherits from ITuner. Applications using the default Network Provider filter should QueryInterface for IScanningTuner, not ITuner. |