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"), ...@@ -141,6 +141,8 @@ static const char *const hierarchy_user[] = { N_("Automatic"),
N_("None"), "1", "2", "4", 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_A_TEXT N_("Layer A segments count")
#define SEGMENT_COUNT_B_TEXT N_("Layer B segments count") #define SEGMENT_COUNT_B_TEXT N_("Layer B segments count")
#define SEGMENT_COUNT_C_TEXT N_("Layer C segments count") #define SEGMENT_COUNT_C_TEXT N_("Layer C segments count")
...@@ -290,6 +292,9 @@ vlc_module_begin () ...@@ -290,6 +292,9 @@ vlc_module_begin ()
add_integer ("dvb-hierarchy", -1, HIERARCHY_TEXT, HIERARCHY_TEXT, true) add_integer ("dvb-hierarchy", -1, HIERARCHY_TEXT, HIERARCHY_TEXT, true)
change_integer_list (hierarchy_vlc, hierarchy_user) change_integer_list (hierarchy_vlc, hierarchy_user)
change_safe () 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) set_section (N_("ISDB-T reception parameters"), NULL)
add_string ("dvb-a-modulation", 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) ...@@ -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 fec = var_InheritCodeRate (obj, "dvb-fec");
uint32_t guard = var_InheritGuardInterval (obj); uint32_t guard = var_InheritGuardInterval (obj);
uint32_t bw = var_InheritInteger (obj, "dvb-bandwidth"); uint32_t bw = var_InheritInteger (obj, "dvb-bandwidth");
uint32_t plp = var_InheritInteger (obj, "dvd-plp-id");
int tx = var_InheritInteger (obj, "dvb-transmission"); 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 }; 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*/, ...@@ -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*/, int dvb_set_dvbt2 (dvb_device_t *, uint32_t /*freq*/, const char * /*mod*/,
uint32_t /*fec*/, uint32_t /*bandwidth*/, int /*tx_mode*/, uint32_t /*fec*/, uint32_t /*bandwidth*/, int /*tx_mode*/,
uint32_t /*guard*/) uint32_t /*guard*/, uint32_t /*plp*/)
{ {
return VLC_EGENERIC; return VLC_EGENERIC;
} }
......
...@@ -85,7 +85,7 @@ int dvb_set_dvbt (dvb_device_t *, uint32_t freq, const char *mod, ...@@ -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 transmission, uint32_t guard, int hierarchy);
int dvb_set_dvbt2 (dvb_device_t *, 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, uint32_t fec, uint32_t bandwidth,
int transmission, uint32_t guard); int transmission, uint32_t guard, uint32_t plp);
/* ATSC */ /* ATSC */
int dvb_set_atsc (dvb_device_t *, uint32_t freq, const char *mod); 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, ...@@ -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, int dvb_set_dvbt2 (dvb_device_t *d, uint32_t freq, const char *modstr,
uint32_t fec, uint32_t bandwidth, uint32_t fec, uint32_t bandwidth,
int transmit_mode, uint32_t guard) int transmit_mode, uint32_t guard, uint32_t plp)
{ {
#if DVBv5(3) #if DVBv5(3)
uint32_t mod = dvb_parse_modulation (modstr, QAM_AUTO); 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, ...@@ -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_FREQUENCY, freq, DTV_MODULATION, mod,
DTV_INNER_FEC, fec, DTV_BANDWIDTH_HZ, bandwidth, DTV_INNER_FEC, fec, DTV_BANDWIDTH_HZ, bandwidth,
DTV_TRANSMISSION_MODE, transmit_mode, DTV_TRANSMISSION_MODE, transmit_mode,
DTV_GUARD_INTERVAL, guard); DTV_GUARD_INTERVAL, guard,
DTV_DVBT2_PLP_ID, plp);
#else #else
# warning DVB-T2 needs Linux DVB version 5.3 or later. # warning DVB-T2 needs Linux DVB version 5.3 or later.
msg_Err (d->obj, "DVB-T2 support not compiled-in"); 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