Table of Contents

Class BDAChannel

Namespace
VisioForge.Core.Types.VideoCapture
Assembly
VisioForge.Core.dll

Represents a Broadcast Driver Architecture (BDA) channel configuration for digital TV reception.

public class BDAChannel

Inheritance

Inherited Members

Remarks

This class encapsulates all the parameters required to tune to a specific digital TV channel using BDA-compatible tuner devices. BDA is the Microsoft standard for digital TV reception on Windows, supporting various broadcast standards including DVB-T, DVB-S, DVB-C, and ATSC.

The properties in this class correspond to the MPEG-2 transport stream parameters and tuning information required by the BDA subsystem.

Constructors

BDAChannel()

Initializes a new instance of the VisioForge.Core.Types.VideoCapture.BDAChannel class with default values.

public BDAChannel()

Remarks

Creates an empty channel configuration. All properties must be set manually before the channel can be used for tuning.

BDAChannel(short, string, byte, bool, short, short, byte)

Initializes a new instance of the VisioForge.Core.Types.VideoCapture.BDAChannel class with specified parameters.

public BDAChannel(short aSID, string aName, byte aServType, bool aFreeCAmode, short aVideoPid, short aAudioPid, byte aModulation)

Parameters

aSID short

The service ID (SID) that uniquely identifies the service in the transport stream.

aName string

The display name of the channel.

aServType byte

The service type value indicating the type of service (TV, radio, etc.).

aFreeCAmode bool

true if the channel is encrypted; false if free-to-air.

aVideoPid short

The PID of the video elementary stream, or -1 if no video.

aAudioPid short

The PID of the primary audio elementary stream, or -1 if no audio.

aModulation byte

The modulation type value.

Remarks

This constructor initializes the basic channel parameters but does not set tuning parameters (Frequency, Polarisation, SymbolRate). These must be set separately after construction.

This constructor is typically used when parsing channel information from service information tables or channel scan results.

Properties

AudioPid

Gets or sets the audio stream Packet Identifier (PID).

public short AudioPid { get; set; }

Property Value

short

Remarks

The audio PID identifies which packets in the MPEG-2 transport stream contain the audio data for this service. This typically refers to the primary or default audio stream. Additional audio streams (alternate languages, audio description) may be available but are not represented in this property.

This value is obtained from the Program Map Table (PMT) for the service.

FreeCAmode

Gets or sets a value indicating whether the channel is encrypted (Free CA mode).

public bool FreeCAmode { get; set; }

Property Value

bool

Remarks

Free CA (Conditional Access) mode indicates whether the service is scrambled. Encrypted channels require appropriate decryption hardware (CAM modules) or software and valid subscription rights to view.

This value is derived from the free_CA_mode flag in the service descriptor.

Frequency

Gets or sets the tuning frequency for this channel.

public int Frequency { get; set; }

Property Value

int

Remarks

The frequency value interpretation depends on the tuner type:

  • DVB-T/ATSC: Center frequency in kHz (e.g., 474000 for 474 MHz)
  • DVB-C: Center frequency in kHz
  • DVB-S/S2: Transponder frequency in MHz (e.g., 11954 for 11.954 GHz)

Modulation

Gets or sets the modulation type used for this channel.

public short Modulation { get; set; }

Property Value

short

Remarks

The modulation type determines how the digital signal is encoded onto the carrier wave. Common values include QPSK, QAM-16, QAM-64, QAM-256, 8VSB, etc. The specific values and their meanings depend on the tuner type and broadcast standard.

See VisioForge.Core.Types.VideoCapture.BDAModulationType for standard modulation type values.

Name

Gets or sets the display name of the channel.

public string Name { get; set; }

Property Value

string

Remarks

This is typically the channel name as displayed to users (e.g., "BBC One", "CNN", "Discovery"). The name is usually extracted from the Service Description Table (SDT) in DVB systems or the Virtual Channel Table (VCT) in ATSC systems.

Polarisation

Gets or sets the signal polarization for satellite reception.

public BDAPolarisation Polarisation { get; set; }

Property Value

BDAPolarisation

Remarks

Polarization is primarily used for satellite (DVB-S/S2) reception where signals can be transmitted with different polarizations to allow frequency reuse. For terrestrial and cable systems, this property is typically not used.

Common polarizations are:

  • Linear Horizontal (H)
  • Linear Vertical (V)
  • Circular Left (L)
  • Circular Right (R)

ServId

Gets or sets the service ID (SID) of the channel.

public short ServId { get; set; }

Property Value

short

Remarks

The service ID is a 16-bit value used in DVB and ATSC systems to identify a specific service (channel) within a multiplex. This value is found in the Service Description Table (SDT) or Virtual Channel Table (VCT).

ServType

Gets or sets the service type of the channel.

public byte ServType { get; set; }

Property Value

byte

Remarks

Common service type values include:

  • 0x01: Digital television service
  • 0x02: Digital radio service
  • 0x04: Teletext service
  • 0x05: NVOD reference service
  • 0x06: NVOD time-shifted service
  • 0x0A: Advanced codec digital radio
  • 0x16: Advanced codec SD digital television
  • 0x19: Advanced codec HD digital television

SymbolRate

Gets or sets the symbol rate for this channel.

public int SymbolRate { get; set; }

Property Value

int

Remarks

Symbol rate is primarily used for satellite (DVB-S/S2) and cable (DVB-C) systems. It represents the number of symbol changes per second in the modulated signal. Common values include 27500000 for many European satellite transponders.

For terrestrial (DVB-T/ATSC) systems, this property is typically not used as the bandwidth is fixed by the standard.

VideoPid

Gets or sets the video stream Packet Identifier (PID).

public short VideoPid { get; set; }

Property Value

short

Remarks

The video PID identifies which packets in the MPEG-2 transport stream contain the video data for this service. This value is obtained from the Program Map Table (PMT) for the service.

Valid PID values range from 0x0010 to 0x1FFE. Special values include: 0x1FFF for null packets and -1 to indicate no video (radio services).