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 BDAChannelInheritance
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
aSIDshort-
The service ID (SID) that uniquely identifies the service in the transport stream.
aNamestring-
The display name of the channel.
aServTypebyte-
The service type value indicating the type of service (TV, radio, etc.).
aFreeCAmodebool-
trueif the channel is encrypted;falseif free-to-air. aVideoPidshort-
The PID of the video elementary stream, or -1 if no video.
aAudioPidshort-
The PID of the primary audio elementary stream, or -1 if no audio.
aModulationbyte-
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
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
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
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
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
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
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
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
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
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
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).