TSDuck v3.46-4930
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::TunerArgs Class Reference

#include <tsTunerArgs.h>

Inheritance diagram for ts::TunerArgs:
Collaboration diagram for ts::TunerArgs:

Public Types

using BitRateCalculator = bool (*)(BitRate& bitrate, const ModulationArgs& args)

Public Member Functions

 TunerArgs (bool info_only=false)
virtual void clear () override
bool configureTuner (Tuner &tuner) const
void copyLocalReceptionParameters (const ModulationArgs &other)
virtual void defineArgs (Args &args, bool allow_short_options) override
virtual std::ostream & display (std::ostream &strm, const UString &margin=UString(), int level=Severity::Info) const override
bool fromDeliveryDescriptor (DuckContext &duck, const Descriptor &desc, uint16_t ts_id, DeliverySystem delsys=DS_UNDEFINED)
bool fromDeliveryDescriptors (DuckContext &duck, const DescriptorList &dlist, uint16_t ts_id, DeliverySystem delsys=DS_UNDEFINED)
bool hasModulationArgs () const
virtual bool loadArgs (DuckContext &duck, Args &args) override
void resetLocalReceptionParameters ()
bool resolveDeliverySystem (const DeliverySystemSet &systems, Report &report)
void setDefaultValues ()
UString shortDescription (DuckContext &duck) const
BitRate theoreticalBitrate () const
void toJSON (json::Object &obj) const
UString toPluginOptions (bool no_local=false) const

Static Public Member Functions

static bool IsValidISDBTTimeInterleaving (int ti)

Public Attributes

bool allow_emulator_pipes = false
std::optional< BandWidth > bandwidth {}
std::optional< DeliverySystem > delivery_system {}
size_t demux_buffer_size = Tuner::DEFAULT_DEMUX_BUFFER_SIZE
 Demux buffer size in bytes (Linux-specific).
size_t demux_queue_size = Tuner::DEFAULT_SINK_QUEUE_SIZE
 Max number of queued media samples (Windows-specific).
UString device_name {}
 Name of tuner device.
std::optional< InnerFEC > fec_hp {}
std::optional< InnerFEC > fec_lp {}
std::optional< uint64_t > frequency {}
std::optional< GuardInterval > guard_interval {}
std::optional< Hierarchy > hierarchy {}
std::optional< InnerFEC > inner_fec {}
std::optional< SpectralInversion > inversion {}
std::optional< UString > isdbt_layers {}
std::optional< bool > isdbt_partial_reception {}
std::optional< uint32_t > isi {}
std::optional< InnerFEC > layer_a_fec {}
std::optional< Modulation > layer_a_modulation {}
std::optional< int > layer_a_segment_count {}
std::optional< int > layer_a_time_interleaving {}
std::optional< InnerFEC > layer_b_fec {}
std::optional< Modulation > layer_b_modulation {}
std::optional< int > layer_b_segment_count {}
std::optional< int > layer_b_time_interleaving {}
std::optional< InnerFEC > layer_c_fec {}
std::optional< Modulation > layer_c_modulation {}
std::optional< int > layer_c_segment_count {}
std::optional< int > layer_c_time_interleaving {}
std::optional< LNB > lnb {}
std::optional< Modulation > modulation {}
std::optional< Pilot > pilots {}
std::optional< uint32_t > plp {}
std::optional< uint32_t > pls_code {}
std::optional< PLSMode > pls_mode {}
std::optional< Polarization > polarity {}
cn::milliseconds receive_timeout {}
 Packet received timeout in milliseconds.
UString receiver_name {}
 Name of the DirectShow receiver to use (Windows-specific).
std::optional< RollOff > roll_off {}
std::optional< size_t > satellite_number {}
std::optional< int > sb_segment_count {}
std::optional< int > sb_segment_index {}
std::optional< int > sb_subchannel_id {}
cn::milliseconds signal_timeout = Tuner::DEFAULT_SIGNAL_TIMEOUT
 Signal locking timeout in milliseconds.
std::optional< bool > sound_broadcasting {}
std::optional< uint32_t > stream_id {}
std::optional< uint32_t > symbol_rate {}
std::optional< TransmissionMode > transmission_mode {}
std::optional< Unicable > unicable {}

Static Public Attributes

static constexpr BandWidth DEFAULT_BANDWIDTH_DVBT = 8000000
static constexpr BandWidth DEFAULT_BANDWIDTH_ISDBT = 6000000
static constexpr InnerFEC DEFAULT_FEC_HP = FEC_AUTO
static constexpr InnerFEC DEFAULT_FEC_LP = FEC_AUTO
static constexpr GuardInterval DEFAULT_GUARD_INTERVAL_DVBT = GUARD_1_32
static constexpr GuardInterval DEFAULT_GUARD_INTERVAL_ISDBT = GUARD_1_32
static constexpr Hierarchy DEFAULT_HIERARCHY = HIERARCHY_NONE
static constexpr InnerFEC DEFAULT_INNER_FEC = FEC_AUTO
static constexpr SpectralInversion DEFAULT_INVERSION = SPINV_AUTO
static constexpr const UChar * DEFAULT_ISDBT_LAYERS = u"ABC"
static constexpr uint32_t DEFAULT_ISI = ISI_DISABLE
static constexpr Modulation DEFAULT_MODULATION_ATSC = VSB_8
static constexpr Modulation DEFAULT_MODULATION_DVBC = QAM_64
static constexpr Modulation DEFAULT_MODULATION_DVBS = QPSK
static constexpr Modulation DEFAULT_MODULATION_DVBT = QAM_64
static constexpr Pilot DEFAULT_PILOTS = PILOT_OFF
static constexpr uint32_t DEFAULT_PLP = PLP_DISABLE
static constexpr uint32_t DEFAULT_PLS_CODE = 0
static constexpr PLSMode DEFAULT_PLS_MODE = PLS_GOLD
static constexpr Polarization DEFAULT_POLARITY = POL_VERTICAL
static constexpr RollOff DEFAULT_ROLL_OFF = ROLLOFF_35
static constexpr size_t DEFAULT_SATELLITE_NUMBER = 0
static constexpr int DEFAULT_SB_SEGMENT_COUNT = 13
static constexpr int DEFAULT_SB_SEGMENT_INDEX = 0
static constexpr int DEFAULT_SB_SUBCHANNEL_ID = 0
static constexpr uint32_t DEFAULT_STREAM_ID = STREAM_ID_DISABLE
static constexpr uint32_t DEFAULT_SYMBOL_RATE_DVBC = 6900000
static constexpr uint32_t DEFAULT_SYMBOL_RATE_DVBS = 27500000
static constexpr uint32_t DEFAULT_SYMBOL_RATE_ISDBS = 28860000
static constexpr TransmissionMode DEFAULT_TRANSMISSION_MODE_DVBT = TM_8K
static constexpr TransmissionMode DEFAULT_TRANSMISSION_MODE_ISDBT = TM_8K
static constexpr int MAX_ISDBT_SEGMENT_COUNT = 13

Detailed Description

Parameters for tuners and their command-line definitions.

All values may be "set" or "unset", depending on command line arguments. All options for all types of tuners are included here.

Member Typedef Documentation

◆ BitRateCalculator

using ts::ModulationArgs::BitRateCalculator = bool (*)(BitRate& bitrate, const ModulationArgs& args)
inherited

Function profile to calculate a bitrate from a set modulation arguments. Calculating a bitrate can be complicated and delegated to another library. Therefore, it is possible to register various BitRateCalculator functions.

Parameters
[out]bitrateComputed bitrate.
[in]argsModulation arguments.
Returns
True on success, false if the function doesn't know how to calculate the bitrate.

Constructor & Destructor Documentation

◆ TunerArgs()

ts::TunerArgs::TunerArgs ( bool info_only = false)

Default constructor.

Parameters
[in]info_onlyIf true, the tuner will not be used to tune, just to get information.

Member Function Documentation

◆ defineArgs()

virtual void ts::TunerArgs::defineArgs ( Args & args,
bool allow_short_options )
overridevirtual

Add command line option definitions in an Args.

Parameters
[in,out]argsCommand line arguments to update.
[in]allow_short_optionsIf true, allow short one-letter options.

Reimplemented from ts::ModulationArgs.

◆ loadArgs()

virtual bool ts::TunerArgs::loadArgs ( DuckContext & duck,
Args & args )
overridevirtual

Load arguments from command line. Args error indicator is set in case of incorrect arguments.

Parameters
[in,out]duckTSDuck execution context.
[in,out]argsCommand line arguments.
Returns
True on success, false on error in argument line.

Reimplemented from ts::ModulationArgs.

◆ clear()

virtual void ts::TunerArgs::clear ( )
overridevirtual

Clear content, reset all values, they become "unset"

Reimplemented from ts::ModulationArgs.

◆ configureTuner()

bool ts::TunerArgs::configureTuner ( Tuner & tuner) const

Open a tuner and configure it according to the parameters in this object.

Parameters
[in,out]tunerThe tuner to open and configure.
Returns
True on success, false on error.

◆ IsValidISDBTTimeInterleaving()

bool ts::ModulationArgs::IsValidISDBTTimeInterleaving ( int ti)
staticinherited

Check if an ISDB-T time interleaving value is valid.

Parameters
[in]tiTime interleaving value. Valid values: 0, 1, 2, 4 or -1 (auto).
Returns
True if ti is valid, false otherwise.

◆ display()

virtual std::ostream & ts::ModulationArgs::display ( std::ostream & stream,
const UString & margin = UString(),
int level = Severity::Info ) const
overridevirtualinherited

Display the content of this object to a stream.

Parameters
[in,out]streamThe stream where to print the content. Standard output by default.
[in]marginThe prefix string on each line, empty by default.
[in]levelSeverity level (for instance, Severity::Info or Severity::Debug may display more information).
Returns
A reference to stream.

Implements ts::DisplayInterface.

◆ hasModulationArgs()

bool ts::ModulationArgs::hasModulationArgs ( ) const
inherited

Check if any modulation options is set.

Returns
True if any modulation options is set.

◆ resolveDeliverySystem()

bool ts::ModulationArgs::resolveDeliverySystem ( const DeliverySystemSet & systems,
Report & report )
inherited

Check the validity of the delivery system or set a default one.

Parameters
[in]systemsThe possible delivery systems, typically from a tuner. If the delivery system is already defined, it must be in this set. If it is not defined, the first delivery system is used.
[in,out]reportWhere to report errors.
Returns
True on success, false on error.

◆ setDefaultValues()

void ts::ModulationArgs::setDefaultValues ( )
inherited

Set the default values for unset parameters, according to the delivery system. Do nothing if the delivery system is unset.

◆ resetLocalReceptionParameters()

void ts::ModulationArgs::resetLocalReceptionParameters ( )
inherited

Reset the local reception parameters, they become "unset" The "local reception parameters" configure the receiving equipment (typically the dish) without affecting the received carrier signal.

◆ copyLocalReceptionParameters()

void ts::ModulationArgs::copyLocalReceptionParameters ( const ModulationArgs & other)
inherited

Copy the local reception parameters from another instance. The "local reception parameters" configure the receiving equipment (typically the dish) without affecting the received carrier signal.

Parameters
[in]otherAnother instance from which the local reception parameters are copied. Local reception parameters which are not set in @^a other are left unmodified in this instance.

◆ theoreticalBitrate()

BitRate ts::ModulationArgs::theoreticalBitrate ( ) const
inherited

Theoretical bitrate computation. All registered BitRateCalculator functions are called until one can compute the bitrate.

Returns
The theoretical useful bitrate of a transponder, based on 188-bytes packets, in bits/second. If the characteristics of the transponder are not sufficient to compute the bitrate, return 0.
See also
BitRateCalculator

◆ fromDeliveryDescriptor()

bool ts::ModulationArgs::fromDeliveryDescriptor ( DuckContext & duck,
const Descriptor & desc,
uint16_t ts_id,
DeliverySystem delsys = DS_UNDEFINED )
inherited

Fill modulation parameters from a delivery system descriptor. This method only sets the modulation parameters from the descriptor. Other parameters are unchanged. This method can be invoked several times, on each descriptor of a descriptor list, to grab incremental values for DVB-S2 for instance.

Parameters
[in,out]duckTSDuck execution context.
[in]descA descriptor. Must be a valid delivery system descriptor.
[in]ts_idTranport stream id of the TS which is described by the delivery system descriptor.
[in]delsysOptional delivery system of the TS from which the descriptor was extracted. In the case of cable_delivery_system_descriptor, it helps to characterize the target delivery system.
Returns
True on success, false if the descriptor was not correctly analyzed or is not a delivery system descriptor.

◆ fromDeliveryDescriptors()

bool ts::ModulationArgs::fromDeliveryDescriptors ( DuckContext & duck,
const DescriptorList & dlist,
uint16_t ts_id,
DeliverySystem delsys = DS_UNDEFINED )
inherited

Fill modulation parameters from delivery system descriptors in a descriptor list.

Parameters
[in,out]duckTSDuck execution context.
[in]dlistA descriptor list.
[in]ts_idTranport stream id of the TS which is described by the delivery system descriptor.
[in]delsysOptional delivery system of the TS from which the descriptor list was extracted. In the case of cable_delivery_system_descriptor, it helps to characterize the target delivery system.
Returns
True on success, false if no delivery system descriptor was found.

◆ shortDescription()

UString ts::ModulationArgs::shortDescription ( DuckContext & duck) const
inherited

Format a short description (frequency and essential parameters).

Parameters
[out]duckTSDuck execution context.
Returns
A description string.

◆ toPluginOptions()

UString ts::ModulationArgs::toPluginOptions ( bool no_local = false) const
inherited

Format the modulation parameters as command line arguments.

Parameters
[in]no_localWhen true, the "local" options are not included. The local options are related to the local equipment (–lnb for instance) and may vary from one system to another for the same transponder.
Returns
A string containing a command line options for the "dvb" tsp plugin.

◆ toJSON()

void ts::ModulationArgs::toJSON ( json::Object & obj) const
inherited

Format the modulation parameters in a JSON object.

Parameters
[in,out]objJSON object into which the modulation parameters are added.

Member Data Documentation

◆ delivery_system

std::optional<DeliverySystem> ts::ModulationArgs::delivery_system {}
inherited

Delivery system (DS_DVB_*). Applies to all tuners. When unset, the default delivery system for that tuner is used.

◆ frequency

std::optional<uint64_t> ts::ModulationArgs::frequency {}
inherited

Frequency in Hz. Applies to all tuners. This is a mandatory parameter.

◆ polarity

std::optional<Polarization> ts::ModulationArgs::polarity {}
inherited

Polarity. Applies to: DVB-S/S2, ISDB-S.

◆ DEFAULT_POLARITY

Polarization ts::ModulationArgs::DEFAULT_POLARITY = POL_VERTICAL
staticconstexprinherited

Default value for polarity.

◆ lnb

std::optional<LNB> ts::ModulationArgs::lnb {}
inherited

Local dish LNB for frequency adjustment. Applies to: DVB-S/S2, ISDB-S.

◆ unicable

std::optional<Unicable> ts::ModulationArgs::unicable {}
inherited

Unicable switch description (for Unicable satellite distribution). Applies to: DVB-S/S2.

◆ inversion

std::optional<SpectralInversion> ts::ModulationArgs::inversion {}
inherited

Spectral inversion. Applies to: DVB-T/T2, DVB-S/S2, DVB-C (A,B,C), ATSC, ISDB-T, ISDB-S.

◆ DEFAULT_INVERSION

SpectralInversion ts::ModulationArgs::DEFAULT_INVERSION = SPINV_AUTO
staticconstexprinherited

Default value for inversion.

◆ symbol_rate

std::optional<uint32_t> ts::ModulationArgs::symbol_rate {}
inherited

Symbol rate in symbols / second. Applies to: DVB-S/S2, DVB-C (A,C), ISDB-S.

◆ DEFAULT_SYMBOL_RATE_DVBS

uint32_t ts::ModulationArgs::DEFAULT_SYMBOL_RATE_DVBS = 27500000
staticconstexprinherited

Default value for symbol_rate on DVB-S.

◆ DEFAULT_SYMBOL_RATE_DVBC

uint32_t ts::ModulationArgs::DEFAULT_SYMBOL_RATE_DVBC = 6900000
staticconstexprinherited

Default value for symbol_rate on DVB-C.

◆ DEFAULT_SYMBOL_RATE_ISDBS

uint32_t ts::ModulationArgs::DEFAULT_SYMBOL_RATE_ISDBS = 28860000
staticconstexprinherited

Default value for symbol_rate on ISDB-S.

◆ inner_fec

std::optional<InnerFEC> ts::ModulationArgs::inner_fec {}
inherited

Error correction. Applies to: DVB-S/S2, DVB-C (A,C), ISDB-S.

◆ DEFAULT_INNER_FEC

InnerFEC ts::ModulationArgs::DEFAULT_INNER_FEC = FEC_AUTO
staticconstexprinherited

Default value for inner_fec.

◆ satellite_number

std::optional<size_t> ts::ModulationArgs::satellite_number {}
inherited

Satellite index for DiSeqC switches. Applies to: DVB-S/S2, ISDB-S.

◆ DEFAULT_SATELLITE_NUMBER

size_t ts::ModulationArgs::DEFAULT_SATELLITE_NUMBER = 0
staticconstexprinherited

Default value for satellite_number.

◆ modulation

std::optional<Modulation> ts::ModulationArgs::modulation {}
inherited

Constellation or modulation type. Applies to: DVB-T/T2, DVB-S2/Turbo, DVB-C (A,B,C), ATSC.

◆ DEFAULT_MODULATION_DVBS

Modulation ts::ModulationArgs::DEFAULT_MODULATION_DVBS = QPSK
staticconstexprinherited

Default value for modulation on satellite.

◆ DEFAULT_MODULATION_DVBT

Modulation ts::ModulationArgs::DEFAULT_MODULATION_DVBT = QAM_64
staticconstexprinherited

Default value for modulation on terrestrial.

◆ DEFAULT_MODULATION_DVBC

Modulation ts::ModulationArgs::DEFAULT_MODULATION_DVBC = QAM_64
staticconstexprinherited

Default value for modulation on cable.

◆ DEFAULT_MODULATION_ATSC

Modulation ts::ModulationArgs::DEFAULT_MODULATION_ATSC = VSB_8
staticconstexprinherited

Default value for modulation on ATSC.

◆ bandwidth

std::optional<BandWidth> ts::ModulationArgs::bandwidth {}
inherited

Bandwidth in Hz. Applies to: DVB-T/T2, ISDB-T.

◆ DEFAULT_BANDWIDTH_DVBT

BandWidth ts::ModulationArgs::DEFAULT_BANDWIDTH_DVBT = 8000000
staticconstexprinherited

Default value for bandwidth on DVB-T.

◆ DEFAULT_BANDWIDTH_ISDBT

BandWidth ts::ModulationArgs::DEFAULT_BANDWIDTH_ISDBT = 6000000
staticconstexprinherited

Default value for bandwidth on ISDB-T.

◆ fec_hp

std::optional<InnerFEC> ts::ModulationArgs::fec_hp {}
inherited

High priority stream code rate. Applies to: DVB-T/T2.

◆ DEFAULT_FEC_HP

InnerFEC ts::ModulationArgs::DEFAULT_FEC_HP = FEC_AUTO
staticconstexprinherited

Default value for fec_hp.

◆ fec_lp

std::optional<InnerFEC> ts::ModulationArgs::fec_lp {}
inherited

Low priority stream code rate. Applies to: DVB-T/T2.

◆ DEFAULT_FEC_LP

InnerFEC ts::ModulationArgs::DEFAULT_FEC_LP = FEC_AUTO
staticconstexprinherited

Default value for fec_lp.

◆ transmission_mode

std::optional<TransmissionMode> ts::ModulationArgs::transmission_mode {}
inherited

Transmission mode. Applies to: DVB-T/T2, ISDB-T.

◆ DEFAULT_TRANSMISSION_MODE_DVBT

TransmissionMode ts::ModulationArgs::DEFAULT_TRANSMISSION_MODE_DVBT = TM_8K
staticconstexprinherited

Default value for transmission_mode on DVB-T.

◆ DEFAULT_TRANSMISSION_MODE_ISDBT

TransmissionMode ts::ModulationArgs::DEFAULT_TRANSMISSION_MODE_ISDBT = TM_8K
staticconstexprinherited

Default value for transmission_mode on ISDB-T.

◆ guard_interval

std::optional<GuardInterval> ts::ModulationArgs::guard_interval {}
inherited

Guard interval. Applies to: DVB-T/T2, ISDB-T.

◆ DEFAULT_GUARD_INTERVAL_DVBT

GuardInterval ts::ModulationArgs::DEFAULT_GUARD_INTERVAL_DVBT = GUARD_1_32
staticconstexprinherited

Default value for guard_interval on DVB-T.

◆ DEFAULT_GUARD_INTERVAL_ISDBT

GuardInterval ts::ModulationArgs::DEFAULT_GUARD_INTERVAL_ISDBT = GUARD_1_32
staticconstexprinherited

Default value for guard_interval on ISDB-T.

◆ hierarchy

std::optional<Hierarchy> ts::ModulationArgs::hierarchy {}
inherited

Hierarchy. Applies to: DVB-T/T2.

◆ DEFAULT_HIERARCHY

Hierarchy ts::ModulationArgs::DEFAULT_HIERARCHY = HIERARCHY_NONE
staticconstexprinherited

Default value for hierarchy.

◆ pilots

std::optional<Pilot> ts::ModulationArgs::pilots {}
inherited

Presence of pilots. Applies to: DVB-S2.

◆ DEFAULT_PILOTS

Pilot ts::ModulationArgs::DEFAULT_PILOTS = PILOT_OFF
staticconstexprinherited

Default value for pilots.

◆ roll_off

std::optional<RollOff> ts::ModulationArgs::roll_off {}
inherited

Roll-off factor. Applies to: DVB-S2.

◆ DEFAULT_ROLL_OFF

RollOff ts::ModulationArgs::DEFAULT_ROLL_OFF = ROLLOFF_35
staticconstexprinherited

Default value for roll_off. Implied value in DVB-S, default for DVB-S2.

◆ plp

std::optional<uint32_t> ts::ModulationArgs::plp {}
inherited

Physical Layer Pipe (PLP) identification. Applies to: DVB-T2.

◆ DEFAULT_PLP

uint32_t ts::ModulationArgs::DEFAULT_PLP = PLP_DISABLE
staticconstexprinherited

Default value for PLP id.

◆ isi

std::optional<uint32_t> ts::ModulationArgs::isi {}
inherited

Input Stream Id (ISI). Applies to: DVB-S2.

◆ DEFAULT_ISI

uint32_t ts::ModulationArgs::DEFAULT_ISI = ISI_DISABLE
staticconstexprinherited

Default value for input stream id.

◆ pls_code

std::optional<uint32_t> ts::ModulationArgs::pls_code {}
inherited

Physical Layer Scrambling (PLS) code. Applies to: DVB-S2.

◆ DEFAULT_PLS_CODE

uint32_t ts::ModulationArgs::DEFAULT_PLS_CODE = 0
staticconstexprinherited

Default value for PLS code.

◆ pls_mode

std::optional<PLSMode> ts::ModulationArgs::pls_mode {}
inherited

Physical Layer Scrambling (PLS) mode. Applies to: DVB-S2.

◆ DEFAULT_PLS_MODE

PLSMode ts::ModulationArgs::DEFAULT_PLS_MODE = PLS_GOLD
staticconstexprinherited

Default value for PLS mode.

◆ sound_broadcasting

std::optional<bool> ts::ModulationArgs::sound_broadcasting {}
inherited

Sound broadcasting. When specified to true, the reception is an ISDB-Tsb channel instead of an ISDB-T one. Applies to: ISDB-T.

◆ sb_subchannel_id

std::optional<int> ts::ModulationArgs::sb_subchannel_id {}
inherited

Sound broadcasting sub-channel id. When sound_broadcasting is specified to true, specify the sub-channel ID of the segment to be demodulated in the ISDB-Tsb channel. Possible values: 0 to 41. Applies to: ISDB-T.

◆ DEFAULT_SB_SUBCHANNEL_ID

int ts::ModulationArgs::DEFAULT_SB_SUBCHANNEL_ID = 0
staticconstexprinherited

Default value for ISDB-Tsb sub-channel id.

◆ sb_segment_count

std::optional<int> ts::ModulationArgs::sb_segment_count {}
inherited

Sound broadcasting segment count. When sound_broadcasting is specified to true, specify the total count of connected ISDB-Tsb channels. Possible values: 1 to 13. Applies to: ISDB-T.

◆ DEFAULT_SB_SEGMENT_COUNT

int ts::ModulationArgs::DEFAULT_SB_SEGMENT_COUNT = 13
staticconstexprinherited

Default value for ISDB-Tsb segment count.

◆ sb_segment_index

std::optional<int> ts::ModulationArgs::sb_segment_index {}
inherited

Sound broadcasting segment index. When sound_broadcasting is specified to true, specify the index of the segment to be demodulated for an ISDB-Tsb channel where several of them are transmitted in the connected manner. Possible values: 0 to sb_segment_count - 1. Applies to: ISDB-T.

◆ DEFAULT_SB_SEGMENT_INDEX

int ts::ModulationArgs::DEFAULT_SB_SEGMENT_INDEX = 0
staticconstexprinherited

Default value for ISDB-Tsb segment index.

◆ isdbt_layers

std::optional<UString> ts::ModulationArgs::isdbt_layers {}
inherited

ISDB-T hierarchical layers ISDB-T channels can be coded hierarchically. As opposed to DVB-T in ISDB-T hierarchical layers can be decoded simultaneously. For that reason a ISDB-T demodulator has 3 viterbi and 3 reed-solomon-decoders. ISDB-T has 3 hierarchical layers which each can use a part of the available segments. The total number of segments over all layers has to 13 in ISDB-T. Hierarchical reception in ISDB-T is achieved by enabling or disabling layers in the decoding process. The specified string contains a combination of characters 'A', 'B', 'C', indicating which layers shall be used. Applies to: ISDB-T.

◆ DEFAULT_ISDBT_LAYERS

const UChar* ts::ModulationArgs::DEFAULT_ISDBT_LAYERS = u"ABC"
staticconstexprinherited

Default value for ISDB-T layers (all layers: "ABC").

◆ isdbt_partial_reception

std::optional<bool> ts::ModulationArgs::isdbt_partial_reception {}
inherited

ISDB-T partial reception. When specified to true, the reception of the ISDB-T channel is in partial reception mode. Applies to: ISDB-T.

◆ MAX_ISDBT_SEGMENT_COUNT

int ts::ModulationArgs::MAX_ISDBT_SEGMENT_COUNT = 13
staticconstexprinherited

Maximum value for ISDB-T segment count.

◆ layer_a_fec

std::optional<InnerFEC> ts::ModulationArgs::layer_a_fec {}
inherited

Layer A code rate. Must be one of FEC_AUTO, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8. The default is automatically detected. Applies to: ISDB-T.

◆ layer_a_modulation

std::optional<Modulation> ts::ModulationArgs::layer_a_modulation {}
inherited

Layer A modulation. Must be one of QAM_AUTO, QPSK, QAM_16, QAM_64, DQPSK. The default is automatically detected. Applies to: ISDB-T.

◆ layer_a_segment_count

std::optional<int> ts::ModulationArgs::layer_a_segment_count {}
inherited

Layer A segment count. Possible values: 0 to 13 or -1 (auto). The default is automatically detected. Applies to: ISDB-T.

◆ layer_a_time_interleaving

std::optional<int> ts::ModulationArgs::layer_a_time_interleaving {}
inherited

Layer A time interleaving. Possible values: 0, 1, 2, 4 or -1 (auto). The default is automatically detected. Applies to: ISDB-T.

◆ layer_b_fec

std::optional<InnerFEC> ts::ModulationArgs::layer_b_fec {}
inherited

Layer B code rate. Must be one of FEC_AUTO, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8. The default is automatically detected. Applies to: ISDB-T.

◆ layer_b_modulation

std::optional<Modulation> ts::ModulationArgs::layer_b_modulation {}
inherited

Layer B modulation. Must be one of QAM_AUTO, QPSK, QAM_16, QAM_64, DQPSK. The default is automatically detected. Applies to: ISDB-T.

◆ layer_b_segment_count

std::optional<int> ts::ModulationArgs::layer_b_segment_count {}
inherited

Layer B segment count. Possible values: 0 to 13 or -1 (auto). The default is automatically detected. Applies to: ISDB-T.

◆ layer_b_time_interleaving

std::optional<int> ts::ModulationArgs::layer_b_time_interleaving {}
inherited

Layer B time interleaving. Possible values: 0, 1, 2, 4 or -1 (auto). The default is automatically detected. Applies to: ISDB-T.

◆ layer_c_fec

std::optional<InnerFEC> ts::ModulationArgs::layer_c_fec {}
inherited

Layer C code rate. Must be one of FEC_AUTO, FEC_1_2, FEC_2_3, FEC_3_4, FEC_5_6, FEC_7_8. The default is automatically detected. Applies to: ISDB-T.

◆ layer_c_modulation

std::optional<Modulation> ts::ModulationArgs::layer_c_modulation {}
inherited

Layer C modulation. Must be one of QAM_AUTO, QPSK, QAM_16, QAM_64, DQPSK. The default is automatically detected. Applies to: ISDB-T.

◆ layer_c_segment_count

std::optional<int> ts::ModulationArgs::layer_c_segment_count {}
inherited

Layer C segment count. Possible values: 0 to 13 or -1 (auto). The default is automatically detected. Applies to: ISDB-T.

◆ layer_c_time_interleaving

std::optional<int> ts::ModulationArgs::layer_c_time_interleaving {}
inherited

Layer C time interleaving. Possible values: 0, 1, 2, 4 or -1 (auto). The default is automatically detected. Applies to: ISDB-T.

◆ stream_id

std::optional<uint32_t> ts::ModulationArgs::stream_id {}
inherited

Inner stream id (same as inner transport stream id). Applies to: ISDB-S (multi-stream).

◆ DEFAULT_STREAM_ID

uint32_t ts::ModulationArgs::DEFAULT_STREAM_ID = STREAM_ID_DISABLE
staticconstexprinherited

Default value for inner stream id.

◆ allow_emulator_pipes

bool ts::ModulationArgs::allow_emulator_pipes = false
inherited

Allow the tuner emulator to run processes using pipes. The TSDuck tuner emulator uses XML files to describe transport streams in an emulated network. The content of a transport stream can be read from a file or from the output of a piped command. By default, running commands through the emulator is disabled for security reasons. This option authorizes the creation of processes. Applies to: TSDuck tuner emulator.


The documentation for this class was generated from the following file: