Commit 4dd64b21 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

DTV: add DVB-T2 PLP ID parameter

parent 3b4214c5
......@@ -141,6 +141,8 @@ static const char *const hierarchy_user[] = { N_("Automatic"),
N_("None"), "1", "2", "4",
};
#define PLP_ID_TEXT N_("DVB-T2 Physical Layer Pipe")
#define SEGMENT_COUNT_A_TEXT N_("Layer A segments count")
#define SEGMENT_COUNT_B_TEXT N_("Layer B segments count")
#define SEGMENT_COUNT_C_TEXT N_("Layer C segments count")
......@@ -290,6 +292,9 @@ vlc_module_begin ()
add_integer ("dvb-hierarchy", -1, HIERARCHY_TEXT, HIERARCHY_TEXT, true)
change_integer_list (hierarchy_vlc, hierarchy_user)
change_safe ()
add_integer ("dvb-plp-id", 0, PLP_ID_TEXT, PLP_ID_TEXT, false)
change_integer_range (0, 0xFFFFFFFF)
change_safe ()
set_section (N_("ISDB-T reception parameters"), NULL)
add_string ("dvb-a-modulation", NULL,
......@@ -904,9 +909,10 @@ static int dvbt2_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
uint32_t fec = var_InheritCodeRate (obj, "dvb-fec");
uint32_t guard = var_InheritGuardInterval (obj);
uint32_t bw = var_InheritInteger (obj, "dvb-bandwidth");
uint32_t plp = var_InheritInteger (obj, "dvd-plp-id");
int tx = var_InheritInteger (obj, "dvb-transmission");
return dvb_set_dvbt2 (dev, freq, mod, fec, bw, tx, guard);
return dvb_set_dvbt2 (dev, freq, mod, fec, bw, tx, guard, plp);
}
static const delsys_t dvbt = { .setup = dvbt_setup };
......
......@@ -240,7 +240,7 @@ int dvb_set_dvbt (dvb_device_t *d, uint32_t freq, const char * /*mod*/,
int dvb_set_dvbt2 (dvb_device_t *, uint32_t /*freq*/, const char * /*mod*/,
uint32_t /*fec*/, uint32_t /*bandwidth*/, int /*tx_mode*/,
uint32_t /*guard*/)
uint32_t /*guard*/, uint32_t /*plp*/)
{
return VLC_EGENERIC;
}
......
......@@ -85,7 +85,7 @@ int dvb_set_dvbt (dvb_device_t *, uint32_t freq, const char *mod,
int transmission, uint32_t guard, int hierarchy);
int dvb_set_dvbt2 (dvb_device_t *, uint32_t freq, const char *mod,
uint32_t fec, uint32_t bandwidth,
int transmission, uint32_t guard);
int transmission, uint32_t guard, uint32_t plp);
/* ATSC */
int dvb_set_atsc (dvb_device_t *, uint32_t freq, const char *mod);
......
......@@ -938,7 +938,7 @@ int dvb_set_dvbt (dvb_device_t *d, uint32_t freq, const char *modstr,
int dvb_set_dvbt2 (dvb_device_t *d, uint32_t freq, const char *modstr,
uint32_t fec, uint32_t bandwidth,
int transmit_mode, uint32_t guard)
int transmit_mode, uint32_t guard, uint32_t plp)
{
#if DVBv5(3)
uint32_t mod = dvb_parse_modulation (modstr, QAM_AUTO);
......@@ -953,7 +953,8 @@ int dvb_set_dvbt2 (dvb_device_t *d, uint32_t freq, const char *modstr,
DTV_FREQUENCY, freq, DTV_MODULATION, mod,
DTV_INNER_FEC, fec, DTV_BANDWIDTH_HZ, bandwidth,
DTV_TRANSMISSION_MODE, transmit_mode,
DTV_GUARD_INTERVAL, guard);
DTV_GUARD_INTERVAL, guard,
DTV_DVBT2_PLP_ID, plp);
#else
# warning DVB-T2 needs Linux DVB version 5.3 or later.
msg_Err (d->obj, "DVB-T2 support not compiled-in");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment