Class BDATuningParameters
- Namespace
- VisioForge.Core.Types.VideoCapture
- Assembly
- VisioForge.Core.dll
Encapsulates comprehensive tuning parameters for Broadcast Driver Architecture (BDA) digital TV reception.
public class BDATuningParametersInheritance
Inherited Members
Remarks
This class contains all the parameters necessary to tune a BDA-compatible digital TV tuner device to a specific channel and service. The required parameters vary depending on the broadcast standard (DVB-T, DVB-S, DVB-C, ATSC) and the transmission characteristics of the target channel.
BDA tuning is a multi-step process:
- Tune to the correct frequency using VisioForge.Core.Types.VideoCapture.BDATuningParameters.Frequency
- Lock onto the transport stream using modulation and symbol rate parameters
- Select the specific service using VisioForge.Core.Types.VideoCapture.BDATuningParameters.SID and stream PIDs
- Demultiplex audio and video streams using the PID values
Constructors
BDATuningParameters()
Initializes a new instance of the VisioForge.Core.Types.VideoCapture.BDATuningParameters class.
public BDATuningParameters()Properties
AC3Pid
Gets or sets the Packet Identifier (PID) for Dolby Digital (AC-3) audio stream.
public int AC3Pid { get; set; }Property Value
Remarks
Used when the service broadcasts Dolby Digital audio in addition to or instead of standard audio formats. Common in HD broadcasts and movie channels.
Audio1Pid
Gets or sets the Packet Identifier (PID) for the first alternative audio stream.
public int Audio1Pid { get; set; }Property Value
Remarks
Many broadcasts offer multiple audio tracks for different languages or purposes. This identifies the first alternative audio stream.
Audio2Pid
Gets or sets the Packet Identifier (PID) for the second alternative audio stream.
public int Audio2Pid { get; set; }Property Value
Audio3Pid
Gets or sets the Packet Identifier (PID) for the third alternative audio stream.
public int Audio3Pid { get; set; }Property Value
AudioPid
Gets or sets the Packet Identifier (PID) for the primary audio elementary stream.
public int AudioPid { get; set; }Property Value
Remarks
This PID specifies which packets in the MPEG-2 transport stream contain the main audio track. Additional audio streams are specified using Audio1Pid, Audio2Pid, etc.
Bandwidth
Gets or sets the channel bandwidth for terrestrial broadcasts.
public int Bandwidth { get; set; }Property Value
Remarks
Used primarily for DVB-T broadcasts. Common bandwidths are 6 MHz, 7 MHz, and 8 MHz depending on the region and spectrum allocation.
Channel
Gets or sets the logical channel number for the service.
public int Channel { get; set; }Property Value
Remarks
This is typically the channel number displayed to users. It may differ from the physical channel or frequency, especially in digital broadcasting where logical channel numbering (LCN) is used for service organization.
ChannelName
Gets or sets the human-readable channel or service name.
public string ChannelName { get; set; }Property Value
Diseq
Gets or sets the DiSEqC (Digital Satellite Equipment Control) switch position.
public int Diseq { get; set; }Property Value
Remarks
DiSEqC is used to control satellite dish positioning and multi-satellite switching. Values typically correspond to: 0=None, 1=Port A, 2=Port B, 3=Port C, 4=Port D for multi-satellite installations.
ECMPID
Gets or sets the Packet Identifier (PID) for Entitlement Control Messages (ECM).
public int ECMPID { get; set; }Property Value
Remarks
ECMs contain the control words and authorization data needed to descramble encrypted services. They work in conjunction with CAMs and smart cards.
FEC
Gets or sets the Forward Error Correction (FEC) rate.
public int FEC { get; set; }Property Value
Remarks
FEC adds redundancy to the transmitted signal to correct errors during reception. Common values are ratios like 1/2, 2/3, 3/4, 5/6, 7/8. The specific encoding depends on the broadcast standard and signal quality requirements.
Frequency
Gets or sets the tuning frequency for the channel.
public int Frequency { get; set; }Property Value
Remarks
The frequency format depends on the broadcast type:
- DVB-T/ATSC: Center frequency in kHz (e.g., 522000 for 522 MHz)
- DVB-C: Center frequency in kHz
- DVB-S/S2: Transponder frequency in MHz (e.g., 11954)
LNBFrequency
Gets or sets the Local Oscillator frequency of the LNB for satellite reception.
public int LNBFrequency { get; set; }Property Value
Remarks
The LNB frequency is used to calculate the intermediate frequency (IF) from the satellite downlink frequency: IF = Downlink - LNB_Frequency.
Common LNB frequencies:
- Universal LNB Low: 9750 MHz
- Universal LNB High: 10600 MHz
- Standard LNB: 10750 MHz
LanguageCodeAudio
Gets or sets the ISO 639 language code for the primary audio stream.
public string LanguageCodeAudio { get; set; }Property Value
Remarks
Specifies the language of the main audio track using ISO 639-2/T or ISO 639-2/B codes. This helps in selecting the appropriate audio stream when multiple languages are available.
LanguageCodeAudio1
Gets or sets the ISO 639 language code for the first alternative audio stream.
public string LanguageCodeAudio1 { get; set; }Property Value
LanguageCodeAudio2
Gets or sets the ISO 639 language code for the second alternative audio stream.
public string LanguageCodeAudio2 { get; set; }Property Value
LanguageCodeAudio3
Gets or sets the ISO 639 language code for the third alternative audio stream.
public string LanguageCodeAudio3 { get; set; }Property Value
LnbSwitchFrequency
Gets or sets the LNB (Low Noise Block) switch frequency for dual-band satellite reception.
public int LnbSwitchFrequency { get; set; }Property Value
Remarks
Used in satellite reception for universal LNBs that cover both low (10.7-11.7 GHz) and high (11.7-12.75 GHz) Ku-band frequencies. Common switch frequencies are 11700 MHz. The 22 kHz tone controls the band selection.
MajorChannel
Gets or sets the ATSC major channel number.
public int MajorChannel { get; set; }Property Value
Remarks
The major number typically corresponds to the legacy analog channel number, providing continuity for users transitioning from analog to digital TV.
MinorChannel
Gets or sets the ATSC minor channel number.
public int MinorChannel { get; set; }Property Value
Remarks
ATSC uses a major.minor numbering system where multiple services can share a physical channel. The minor number identifies the specific sub-channel.
Modulation
Gets or sets the modulation scheme used for signal transmission.
public BDAModulationType Modulation { get; set; }Property Value
Remarks
The modulation type determines how digital data is encoded onto the carrier signal. Different broadcast standards use different modulation schemes (QPSK for DVB-S, QAM for DVB-C, COFDM for DVB-T, 8VSB for ATSC).
ONID
Gets or sets the Original Network Identifier (ONID).
public int ONID { get; set; }Property Value
Remarks
The ONID identifies the network that originally distributed the service. Together with TSID and SID, it provides a globally unique identifier for the service.
PCRPid
Gets or sets the Packet Identifier (PID) for the Program Clock Reference (PCR).
public int PCRPid { get; set; }Property Value
Remarks
The PCR provides timing references for synchronizing video and audio playback. It is often (but not always) the same as the video PID.
PMTPID
Gets or sets the Packet Identifier (PID) for the Program Map Table (PMT).
public int PMTPID { get; set; }Property Value
Remarks
The PMT describes the elementary streams that make up a program/service, including their PIDs, stream types, and descriptors. Essential for demultiplexing the service.
PhysicalChannel
Gets or sets the physical (RF) channel number.
public int PhysicalChannel { get; set; }Property Value
Remarks
For terrestrial broadcasts, this represents the actual RF channel allocation. The physical channel may differ from the logical channel number displayed to users.
Polarisation
Gets or sets the signal polarization for satellite reception.
public BDAPolarisation Polarisation { get; set; }Property Value
Remarks
Applies only to satellite (DVB-S/S2) reception. The LNB uses this to select which polarization plane to receive: Horizontal, Vertical, Left Circular, or Right Circular.
ProgramNumber
Gets or sets the MPEG program number within the transport stream.
public int ProgramNumber { get; set; }Property Value
Remarks
The program number is used to identify a specific service within a multiplexed transport stream. It corresponds to the program_number field in the Program Association Table (PAT).
ProviderName
Gets or sets the name of the service provider.
public string ProviderName { get; set; }Property Value
SID
Gets or sets the Service Identifier (SID).
public int SID { get; set; }Property Value
Remarks
The SID uniquely identifies a service (channel) within a transport stream. It corresponds to the service_id in the Service Description Table (SDT) and Program Map Table (PMT).
Scrambled
Gets or sets a value indicating whether the service is scrambled (encrypted).
public int Scrambled { get; set; }Property Value
Remarks
Scrambled services require appropriate Conditional Access Module (CAM) and smart card with valid subscription to decrypt the content.
ServiceType
Gets or sets the service type identifier.
public int ServiceType { get; set; }Property Value
Remarks
Common service types: 0x01 (digital TV), 0x02 (digital radio), 0x04 (teletext), 0x16 (advanced codec SD TV), 0x19 (advanced codec HD TV).
SubtitlePID
Gets or sets the Packet Identifier (PID) for DVB subtitles.
public int SubtitlePID { get; set; }Property Value
Remarks
DVB subtitles are bitmap-based subtitles commonly used in European broadcasts. They differ from teletext subtitles and can support multiple languages and hearing-impaired options.
SymbolRate
Gets or sets the symbol rate for the digital signal.
public int SymbolRate { get; set; }Property Value
Remarks
Symbol rate is primarily used for satellite (DVB-S/S2) and cable (DVB-C) reception. Common values include 27500000 for European satellite services. Not typically used for terrestrial (DVB-T) broadcasts.
TSID
Gets or sets the Transport Stream Identifier (TSID).
public int TSID { get; set; }Property Value
Remarks
The TSID, along with ONID, uniquely identifies a transport stream within a network. It is found in the Program Association Table (PAT) and other SI tables.
TeletextPid
Gets or sets the Packet Identifier (PID) for teletext data.
public int TeletextPid { get; set; }Property Value
Remarks
Teletext provides text-based information pages and closed captioning. While less common in modern broadcasts, it remains in use in some regions.
VideoPid
Gets or sets the Packet Identifier (PID) for the video elementary stream.
public int VideoPid { get; set; }Property Value
Remarks
This PID identifies which packets contain the video data for the service. The value is obtained from the Program Map Table (PMT) for the selected service.