Commit 848f0aed authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

DTV: add stream parameter for DVB-S2 (refs #12034)

(cherry picked from commit c48aa72c5056b098e9c44fd8b9a6d752b3bdd6e4)
parent 33bd9ac8
...@@ -151,6 +151,8 @@ static const char *const hierarchy_user[] = { N_("Automatic"), ...@@ -151,6 +151,8 @@ static const char *const hierarchy_user[] = { N_("Automatic"),
#define TIME_INTERLEAVING_B_TEXT N_("Layer B time interleaving") #define TIME_INTERLEAVING_B_TEXT N_("Layer B time interleaving")
#define TIME_INTERLEAVING_C_TEXT N_("Layer C time interleaving") #define TIME_INTERLEAVING_C_TEXT N_("Layer C time interleaving")
#define STREAM_ID_TEXT N_("Stream identifier")
#define PILOT_TEXT N_("Pilot") #define PILOT_TEXT N_("Pilot")
#define ROLLOFF_TEXT N_("Roll-off factor") #define ROLLOFF_TEXT N_("Roll-off factor")
...@@ -358,6 +360,9 @@ vlc_module_begin () ...@@ -358,6 +360,9 @@ vlc_module_begin ()
change_safe () change_safe ()
set_section (N_("DVB-S2 parameters"), NULL) set_section (N_("DVB-S2 parameters"), NULL)
add_integer ("dvb-stream", 0, STREAM_ID_TEXT, STREAM_ID_TEXT, false)
change_integer_range (0, 255)
change_safe ()
add_integer ("dvb-pilot", -1, PILOT_TEXT, PILOT_TEXT, true) add_integer ("dvb-pilot", -1, PILOT_TEXT, PILOT_TEXT, true)
change_integer_list (auto_off_on_vlc, auto_off_on_user) change_integer_list (auto_off_on_vlc, auto_off_on_user)
change_safe () change_safe ()
...@@ -872,8 +877,9 @@ static int dvbs2_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq) ...@@ -872,8 +877,9 @@ static int dvbs2_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq)
uint32_t srate = var_InheritInteger (obj, "dvb-srate"); uint32_t srate = var_InheritInteger (obj, "dvb-srate");
int pilot = var_InheritInteger (obj, "dvb-pilot"); int pilot = var_InheritInteger (obj, "dvb-pilot");
int rolloff = var_InheritInteger (obj, "dvb-rolloff"); int rolloff = var_InheritInteger (obj, "dvb-rolloff");
uint8_t sid = var_InheritInteger (obj, "dvb-stream");
int ret = dvb_set_dvbs2 (dev, freq, mod, srate, fec, pilot, rolloff); int ret = dvb_set_dvbs2 (dev, freq, mod, srate, fec, pilot, rolloff, sid);
if (ret == 0) if (ret == 0)
sec_setup (obj, dev, freq); sec_setup (obj, dev, freq);
return ret; return ret;
......
...@@ -209,7 +209,8 @@ int dvb_set_dvbs (dvb_device_t *d, uint64_t freq, uint32_t srate, uint32_t fec) ...@@ -209,7 +209,8 @@ int dvb_set_dvbs (dvb_device_t *d, uint64_t freq, uint32_t srate, uint32_t fec)
} }
int dvb_set_dvbs2 (dvb_device_t *, uint64_t /*freq*/, const char * /*mod*/, int dvb_set_dvbs2 (dvb_device_t *, uint64_t /*freq*/, const char * /*mod*/,
uint32_t /*srate*/, uint32_t /*fec*/, int /*pilot*/, int /*rolloff*/) uint32_t /*srate*/, uint32_t /*fec*/, int /*pilot*/, int /*rolloff*/,
uint8_t /*sid*/)
{ {
return VLC_EGENERIC; return VLC_EGENERIC;
} }
......
...@@ -75,7 +75,8 @@ int dvb_set_dvbc (dvb_device_t *, uint32_t freq, const char *mod, ...@@ -75,7 +75,8 @@ int dvb_set_dvbc (dvb_device_t *, uint32_t freq, const char *mod,
/* DVB-S */ /* DVB-S */
int dvb_set_dvbs (dvb_device_t *, uint64_t freq, uint32_t srate, uint32_t fec); int dvb_set_dvbs (dvb_device_t *, uint64_t freq, uint32_t srate, uint32_t fec);
int dvb_set_dvbs2 (dvb_device_t *, uint64_t freq, const char *mod, int dvb_set_dvbs2 (dvb_device_t *, uint64_t freq, const char *mod,
uint32_t srate, uint32_t fec, int pilot, int rolloff); uint32_t srate, uint32_t fec, int pilot, int rolloff,
uint8_t sid);
int dvb_set_sec (dvb_device_t *, uint64_t freq, char pol, int dvb_set_sec (dvb_device_t *, uint64_t freq, char pol,
uint32_t lowf, uint32_t highf, uint32_t switchf); uint32_t lowf, uint32_t highf, uint32_t switchf);
......
...@@ -875,7 +875,8 @@ int dvb_set_dvbs (dvb_device_t *d, uint64_t freq_Hz, ...@@ -875,7 +875,8 @@ int dvb_set_dvbs (dvb_device_t *d, uint64_t freq_Hz,
} }
int dvb_set_dvbs2 (dvb_device_t *d, uint64_t freq_Hz, const char *modstr, int dvb_set_dvbs2 (dvb_device_t *d, uint64_t freq_Hz, const char *modstr,
uint32_t srate, uint32_t fec, int pilot, int rolloff) uint32_t srate, uint32_t fec, int pilot, int rolloff,
uint8_t sid)
{ {
uint32_t freq = freq_Hz / 1000; uint32_t freq = freq_Hz / 1000;
unsigned mod = dvb_parse_modulation (modstr, QPSK); unsigned mod = dvb_parse_modulation (modstr, QPSK);
......
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