Microsoft DirectX 8.1 (C++)

Default Preferred Component Types

To determine which components are actually available, the application should always examine a tune request after it has submitted it. If the information is different from what was in the original tune request, the application can take some action, such as alerting the user that additional audio streams are available. But since most users will always want to hear audio in the same language, the Microsoft Unified Tuning Model enables an application to create a list of Default Preferred ComponentTypes, based on user preferences, and attach it to a Tuning Space. For example, a user may specify that a Spanish audio stream should be played whenever one is available.

For every tune request that is submitted, the tuner will query for the originating tuning space, examine the list of default preferred component types, and attempt to acquire the preferred components first.

If a user wishes to override the default preferred component types for a particular program, then the application’s response will depend on whether it is using the Video Control.

If the Video Control is not being used, then the application can override the default preferences by setting a new DefaultPreferredComponentTypes object on the Network Provider directly through its ITuner interface before re-submitting the tune request.

If the Video Control is being used, then the application must take these steps:

  1. Call ITuneRequest::get_Components.
  2. Use the returned IComponents interface to enumerate through the list. Examine the properties, such as IComponent::get_DescLangID, or IComponent::get_Type, to determine whether the component should be active or inactive. Use the IComponent::put_Status method to set the component’s status.
  3. Resubmit the tune request.

Components and component types are not used for analog network types.