if (x == NULL)
break;
if (strcmp(x, "all") == 0) {
- pids->all = 1;
+ if (satip_server_conf.satip_restrict_pids_all) {
+ pids->all = 0;
+ for (pid = 1; pid <= 2; pid++) /* CAT, TSDT */
+ mpegts_pid_add(pids, pid, MPS_WEIGHT_RAW);
+ for (pid = 0x10; pid < 0x20; pid++) /* NIT ... SIT */
+ mpegts_pid_add(pids, pid, MPS_WEIGHT_RAW);
+ mpegts_pid_add(pids, 0x1ffb, MPS_WEIGHT_RAW); /* ATSC */
+ } else {
+ pids->all = 1;
+ }
} else {
pids->all = 0;
pid = atoi(x);
.off = offsetof(struct satip_server_conf, satip_noupnp),
.group = 1,
},
+ {
+ .type = PT_BOOL,
+ .id = "satip_restrict_pids_all",
+ .name = N_("Restrict \"pids=all\""),
+ .desc = N_("Replace the full Transport Stream with a range "
+ "0x00-0x02,0x10-0x1F,0x1FFB pids only."),
+ .off = offsetof(struct satip_server_conf, satip_restrict_pids_all),
+ .opts = PO_EXPERT,
+ .group = 1,
+ },
{
.type = PT_INT,
.id = "satip_weight",
int satip_notcp_mode;
int satip_anonymize;
int satip_noupnp;
+ int satip_restrict_pids_all;
int satip_iptv_sig_level;
int satip_force_sig_level;
int satip_dvbs;