"If there is more than one digital broadcasting adapter, " \
"the adapter number must be selected. Numbering start from zero.")
-#define DEVICE_TEXT N_("DVB device")
-#define DEVICE_LONGTEXT N_( \
- "If the selected adapter has more than one tuner, " \
- "the tuner number must be selected. Numbering start from zero.")
-
#define BUDGET_TEXT N_("Do not demultiplex")
#define BUDGET_LONGTEXT N_( \
"Only useful programs are normally demultiplexed from the transponder. " \
#define TRANSMISSION_TEXT N_("Transmission mode")
const int transmission_vlc[] = { -1,
- 2, 4, 8, /*16, 32,*/
+ 1, 2, 4, 8, 16, 32,
};
static const char *const transmission_user[] = { N_("Automatic"),
- "2k", "4k", "8k", /*"16k", "32k", */
+ "1k", "2k", "4k", "8k", "16k", "32k",
};
#define BANDWIDTH_TEXT N_("Bandwidth (MHz)")
const int bandwidth_vlc[] = { 0,
- 8, 7, 6,
+ 8, 7, 6, 5,
};
static const char *const bandwidth_user[] = { N_("Automatic"),
- N_("8 MHz"), N_("7 MHz"), N_("6 MHz"),
+ N_("8 MHz"), N_("7 MHz"), N_("6 MHz"), N_("5 MHz"),
};
#define GUARD_TEXT N_("Guard interval")
const char *const guard_vlc[] = { "",
- /*"1/128",*/ "1/32", "1/16", /*"19/128",*/ "1/8", /*"9/256",*/ "1/4",
+ "1/128", "1/32", "1/16", "19/256", "1/8", "19/128", "1/4",
};
static const char *const guard_user[] = { N_("Automatic"),
- /*"1/128",*/ "1/32", "1/16", /*"19/128",*/ "1/8", /*"9/256",*/ "1/4",
+ "1/128", "1/32", "1/16", "19/256", "1/8", "19/128", "1/4",
};
#define HIERARCHY_TEXT N_("Hierarchy mode")
set_callbacks (Open, Close)
add_shortcut ("dtv", "tv", "dvb", /* "radio", "dab",*/
"cable", "dvb-c", "satellite", "dvb-s", "dvb-s2",
- "terrestrial", "dvb-t", "atsc", "cqam")
+ "terrestrial", "dvb-t", "dvb-t2", "atsc", "cqam")
- /* All options starting with dvb- can be overriden in the MRL, so they
+ /* All options starting with dvb- can be overridden in the MRL, so they
* must all be "safe". Nevertheless, we do not mark as safe those that are
* really specific to the local system (e.g. device ID...).
* It wouldn't make sense to deliver those through a playlist. */
#ifdef __linux__
add_integer ("dvb-adapter", 0, ADAPTER_TEXT, ADAPTER_LONGTEXT, false)
change_integer_range (0, 255)
- add_integer ("dvb-device", 0, DEVICE_TEXT, DEVICE_LONGTEXT, false)
- change_integer_range (0, 255)
+ add_obsolete_integer ("dvb-device")
add_bool ("dvb-budget-mode", false, BUDGET_TEXT, BUDGET_LONGTEXT, true)
#endif
#ifdef WIN32
LNB_SWITCH_TEXT, LNB_SWITCH_LONGTEXT, true)
change_integer_range (0, 0x7fffffff)
add_deprecated_alias ("dvb-lnb-slof")
-#ifdef __linux
+#ifdef __linux__
add_integer ("dvb-satno", 0, SATNO_TEXT, SATNO_LONGTEXT, true)
change_integer_list (satno_vlc, satno_user)
add_integer ("dvb-tone", -1, TONE_TEXT, TONE_LONGTEXT, true)
return VLC_ENOMEM;
var_LocationParse (obj, access->psz_location, "dvb-");
- unsigned freq = var_InheritFrequency (obj);
- dvb_device_t *dev = dvb_open (obj, freq != 0);
+ dvb_device_t *dev = dvb_open (obj);
if (dev == NULL)
{
free (sys);
sys->dev = dev;
access->p_sys = sys;
+ unsigned freq = var_InheritFrequency (obj);
if (freq != 0)
{
const delsys_t *delsys = GuessSystem (access->psz_access, dev);
}
case ACCESS_SET_PRIVATE_ID_CA:
- /* TODO */
- return VLC_EGENERIC;
+#ifdef HAVE_DVBPSI
+ {
+ struct dvbpsi_pmt_s *pmt = va_arg (args, struct dvbpsi_pmt_s *);
+
+ dvb_set_ca_pmt (dev, pmt);
+ return VLC_SUCCESS;
+ }
+#endif
case ACCESS_GET_PRIVATE_ID_STATE:
return VLC_EGENERIC;
return &dvbs2;
if (!strcasecmp (scheme, "dvb-t"))
return &dvbt;
+ if (!strcasecmp (scheme, "dvb-t2"))
+ return &dvbt2;
return dvb_guess_system (dev);
}
return dvb_set_dvbt (dev, freq, mod, fec_hp, fec_lp, bw, tx, guard, h);
}
+static int dvbt2_setup (vlc_object_t *obj, dvb_device_t *dev, unsigned freq)
+{
+ const char *mod = var_InheritModulation (obj);
+ uint32_t fec = var_InheritCodeRate (obj, "dvb-fec");
+ uint32_t guard = var_InheritGuardInterval (obj);
+ uint32_t bw = var_InheritInteger (obj, "dvb-bandwidth");
+ int tx = var_InheritInteger (obj, "dvb-transmission");
+
+ return dvb_set_dvbt2 (dev, freq, mod, fec, bw, tx, guard);
+}
+
const delsys_t dvbt = { .setup = dvbt_setup };
+const delsys_t dvbt2 = { .setup = dvbt2_setup };