Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
SAT>IP: more quicktips..
  • Loading branch information
Mark Clarkstone authored and perexg committed Dec 15, 2015
1 parent dbb58d3 commit 088a18f
Show file tree
Hide file tree
Showing 3 changed files with 94 additions and 1 deletion.
42 changes: 42 additions & 0 deletions src/input/mpegts/satip/satip.c
Expand Up @@ -211,83 +211,104 @@ const idclass_t satip_device_class =
.type = PT_BOOL,
.id = "tcp_mode",
.name = N_("RTSP/TCP (embedded data)"),
.desc = N_("Enable or disable RTSP/TCP (embedded data) support."),
.opts = PO_ADVANCED,
.off = offsetof(satip_device_t, sd_tcp_mode),
},
{
.type = PT_BOOL,
.id = "fast_switch",
.name = N_("Fast input switch"),
.desc = N_("Enable or disable fast input switching."),
.opts = PO_ADVANCED,
.off = offsetof(satip_device_t, sd_fast_switch),
},
{
.type = PT_BOOL,
.id = "fullmux_ok",
.name = N_("Full mux RX mode supported"),
.desc = N_("Enable or disable full mux mode."),
.opts = PO_ADVANCED,
.off = offsetof(satip_device_t, sd_fullmux_ok),
},
{
.type = PT_INT,
.id = "sigscale",
.name = N_("Signal scale (240 or 100)"),
.desc = N_("Not all SAT>IP servers use the same signal scaling. "
"Change this setting if the signal level displayed "
"within Tvheadend looks too low."),
.opts = PO_ADVANCED,
.off = offsetof(satip_device_t, sd_sig_scale),
},
{
.type = PT_INT,
.id = "pids_max",
.name = N_("Maximum PIDs"),
.desc = N_("Set the maxiumum packet identifiers your SAT>IP "
"server supports."),
.opts = PO_ADVANCED,
.off = offsetof(satip_device_t, sd_pids_max),
},
{
.type = PT_INT,
.id = "pids_len",
.name = N_("Maximum length of PIDs"),
.desc = N_("Maximum length in characters for the command "
"setting PIDs to the SAT>IP box."),
.opts = PO_ADVANCED,
.off = offsetof(satip_device_t, sd_pids_len),
},
{
.type = PT_BOOL,
.id = "pids_deladd",
.name = N_("addpids/delpids supported"),
.desc = N_("Enable if the SAT>IP box supports the "
"addpids/delpids commands."),
.opts = PO_ADVANCED,
.off = offsetof(satip_device_t, sd_pids_deladd),
},
{
.type = PT_BOOL,
.id = "pids0",
.name = N_("PIDs in setup"),
.desc = N_("Enable if the SAT>IP box requires pids=0 parameter "
"in the SETUP RTSP command."),
.opts = PO_ADVANCED,
.off = offsetof(satip_device_t, sd_pids0),
},
{
.type = PT_BOOL,
.id = "piloton",
.name = N_("Force pilot for DVB-S2"),
.desc = N_("Enable if the SAT>IP box requests plts=on "
"parameter in the SETUP RTSP command for DVB-S2 "
"muxes."),
.opts = PO_ADVANCED,
.off = offsetof(satip_device_t, sd_pilot_on),
},
{
.type = PT_BOOL,
.id = "pids21",
.name = N_("PIDs 21 in setup"),
.desc = N_("Enable if the SAT>IP box requires pids=21 "
"parameter in the SETUP RTSP command"),
.opts = PO_ADVANCED,
.off = offsetof(satip_device_t, sd_pids21),
},
{
.type = PT_STR,
.id = "bindaddr",
.name = N_("Local bind IP address"),
.desc = N_("Bind to specific local IP address."),
.opts = PO_ADVANCED,
.off = offsetof(satip_device_t, sd_bindaddr),
},
{
.type = PT_INT,
.id = "skip_ts",
.name = N_("Skip TS packets (0-200)"),
.desc = N_("Skip x number of transport packets."),
.opts = PO_ADVANCED,
.off = offsetof(satip_device_t, sd_skip_ts),
},
Expand All @@ -302,125 +323,146 @@ const idclass_t satip_device_class =
.type = PT_STR,
.id = "addr",
.name = N_("IP address"),
.desc = N_("Force all network connections to this tuner to be "
"made over the specified IP address, similar to "
"the setting for the SAT>IP device itself. Setting "
"this overrides the device-specific setting."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.addr),
},
{
.type = PT_INT,
.id = "rtsp",
.name = N_("RTSP port"),
.desc = N_("Current RTSP port."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.rtsp_port),
},
{
.type = PT_STR,
.id = "device_uuid",
.name = N_("UUID"),
.desc = N_("The SAT>IP server's universally unique identifier."),
.opts = PO_RDONLY,
.off = offsetof(satip_device_t, sd_info.uuid),
},
{
.type = PT_STR,
.id = "friendly",
.name = N_("Friendly name"),
.desc = N_("The SAT>IP server's name."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.friendlyname),
},
{
.type = PT_STR,
.id = "serialnum",
.name = N_("Serial number"),
.desc = N_("The device's serial number."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.serialnum),
},
{
.type = PT_STR,
.id = "tunercfg",
.name = N_("Tuner configuration"),
.desc = N_("Current tuner configuration."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.tunercfg),
},
{
.type = PT_STR,
.id = "manufacturer",
.name = N_("Manufacturer"),
.name = N_("The manufacturer of the SAT>IP server."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.manufacturer),
},
{
.type = PT_STR,
.id = "manufurl",
.name = N_("Manufacturer URL"),
.desc = N_("Manufacturer's product information page for the device."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.manufacturerURL),
},
{
.type = PT_STR,
.id = "modeldesc",
.name = N_("Model description"),
.desc = N_("Manufacturer's product description."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.modeldesc),
},
{
.type = PT_STR,
.id = "modelname",
.name = N_("Model name"),
.desc = N_("Manufacturer's product name."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.modelname),
},
{
.type = PT_STR,
.id = "modelnum",
.name = N_("Model number"),
.desc = N_("Manufacturer's model number."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.modelnum),
},
{
.type = PT_STR,
.id = "bootid",
.name = N_("Boot ID"),
.desc = N_("The current boot ID."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.bootid),
},
{
.type = PT_STR,
.id = "configid",
.name = N_("Configuration ID"),
.desc = N_("The current configuration ID."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.configid),
},
{
.type = PT_STR,
.id = "deviceid",
.name = N_("Device ID"),
.desc = N_("The device ID."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.deviceid),
},
{
.type = PT_STR,
.id = "presentation",
.name = N_("Presentation"),
.desc = N_("Presentation details."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.presentation),
},
{
.type = PT_STR,
.id = "location",
.name = N_("Location"),
.desc = N_("Location details of the SAT>IP Server."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.location),
},
{
.type = PT_STR,
.id = "server",
.name = N_("Server"),
.desc = N_("Server details."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.server),
},
{
.type = PT_STR,
.id = "myaddr",
.name = N_("Local discovery IP address"),
.desc = N_("The SAT>IP's discovered IP address."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_device_t, sd_info.myaddr),
},
Expand Down
47 changes: 46 additions & 1 deletion src/input/mpegts/satip/satip_frontend.c
Expand Up @@ -144,49 +144,70 @@ const idclass_t satip_frontend_class =
.type = PT_INT,
.id = "fe_number",
.name = N_("Frontend number"),
.desc = N_("SAT->IP frontend number."),
.opts = PO_RDONLY | PO_NOSAVE,
.off = offsetof(satip_frontend_t, sf_number),
},
{
.type = PT_INT,
.id = "udp_rtp_port",
.name = N_("UDP RTP port number (2 ports)"),
.desc = N_("Force the local UDP Port number here. The number "
"should be even (RTP port). The next odd number "
"(+1) will be used as the RTCP port."),
.off = offsetof(satip_frontend_t, sf_udp_rtp_port),
.opts = PO_ADVANCED,
},
{
.type = PT_INT,
.id = "tdelay",
.name = N_("Next tune delay in ms (0-2000)"),
.desc = N_("The minimum delay before tuning in milliseconds "
"after tuner stop. If the time between the "
"previous and next start is greater than this "
"value then the delay is not applied."),
.opts = PO_ADVANCED,
.off = offsetof(satip_frontend_t, sf_tdelay),
},
{
.type = PT_BOOL,
.id = "play2",
.name = N_("Send full PLAY cmd"),
.desc = N_("Send the full RTSP PLAY command after full RTSP "
"SETUP command. Some devices firmware require this "
"to get an MPEG-TS stream."),
.opts = PO_ADVANCED,
.off = offsetof(satip_frontend_t, sf_play2),
},
{
.type = PT_BOOL,
.id = "teardown_delay",
.name = N_("Force teardown delay"),
.desc = N_("Force the delay between RTSP TEARDOWN and RTSP "
"SETUP command (value from ‘Next tune delay in ms’ "
"is used). Some devices are not able to handle "
"quick continuous tuning."),
.opts = PO_ADVANCED,
.off = offsetof(satip_frontend_t, sf_teardown_delay),
},
{
.type = PT_BOOL,
.id = "pass_weight",
.name = N_("Pass subscription weight"),
.desc = N_("Pass subscription weight to the SAT>IP server (Tvheadend specific extension)"),
.desc = N_("Pass subscription weight to the SAT>IP server "
"(Tvheadend specific extension)."),
.opts = PO_ADVANCED,
.off = offsetof(satip_frontend_t, sf_pass_weight),
},
{
.type = PT_STR,
.id = "tunerbindaddr",
.name = N_("Tuner bind IP address"),
.desc = N_("Force all network connections to this tuner to be "
"made over the specified IP address, similar to "
"the setting for the SAT>IP device itself. "
"Setting this overrides the device-specific "
"setting."),
.opts = PO_ADVANCED,
.off = offsetof(satip_frontend_t, sf_tuner_bindaddr),
},
Expand Down Expand Up @@ -290,6 +311,9 @@ const idclass_t satip_frontend_dvbs_class =
.type = PT_INT,
.id = "positions",
.name = N_("Satellite positions"),
.desc = N_("Select the number of satellite positions "
"supported by the SAT>IP hardware and your "
"coaxial cable wiring."),
.set = satip_frontend_dvbs_class_positions_set,
.opts = PO_NOSAVE,
.off = offsetof(satip_frontend_t, sf_positions),
Expand All @@ -299,6 +323,16 @@ const idclass_t satip_frontend_dvbs_class =
.type = PT_INT,
.id = "fe_master",
.name = N_("Master tuner"),
.desc = N_("Select the master tuner."
"The signal from the standard universal LNB can be "
"split using a simple coaxial splitter "
"(no multiswitch) to several outputs. In this "
"case, the position, the polarization and low-high "
"band settings must be equal."
"if you set other tuner as master, then this tuner "
"will act like a slave one and tvheadend will "
"assure that this tuner will not use incompatible "
"parameters (position, polarization, lo-hi)."),
.set = satip_frontend_dvbs_class_master_set,
.list = satip_frontend_dvbs_class_master_enum,
.off = offsetof(satip_frontend_t, sf_master),
Expand All @@ -321,6 +355,16 @@ const idclass_t satip_frontend_dvbs_slave_class =
.type = PT_INT,
.id = "fe_master",
.name = N_("Master tuner"),
.desc = N_("Select the master tuner."
"The signal from the standard universal LNB can be "
"split using a simple coaxial splitter "
"(no multiswitch) to several outputs. In this "
"case, the position, the polarization and low-high "
"band settings must be equal."
"if you set other tuner as master, then this tuner "
"will act like a slave one and tvheadend will "
"assure that this tuner will not use incompatible "
"parameters (position, polarization, lo-hi)."),
.set = satip_frontend_dvbs_class_master_set,
.list = satip_frontend_dvbs_class_master_enum,
.off = offsetof(satip_frontend_t, sf_master),
Expand All @@ -343,6 +387,7 @@ const idclass_t satip_frontend_dvbc_class =
.type = PT_STR,
.id = "fe_override",
.name = N_("Network type"),
.desc = N_("Override the frontend type."),
.set = satip_frontend_class_override_set,
.list = satip_frontend_class_override_enum,
.off = offsetof(satip_frontend_t, sf_type_override),
Expand Down

0 comments on commit 088a18f

Please sign in to comment.