minisatip5: accept * for diseqc parameters as adapter (all)

This commit is contained in:
Jaroslav Kysela 2016-02-18 13:12:29 +01:00
parent 303658efeb
commit 4c73c21503

View File

@ -1,8 +1,8 @@
diff --git a/adapter.c b/adapter.c diff --git a/adapter.c b/adapter.c
index 033490a..fe59cb8 100644 index 033490a..36b3dfd 100644
--- a/adapter.c --- a/adapter.c
+++ b/adapter.c +++ b/adapter.c
@@ -49,6 +49,27 @@ extern struct struct_opts opts; @@ -49,6 +49,31 @@ extern struct struct_opts opts;
int tuner_s2, tuner_t, tuner_c, tuner_t2, tuner_c2; int tuner_s2, tuner_t, tuner_c, tuner_t2, tuner_c2;
void find_dvb_adapter(adapter **a); void find_dvb_adapter(adapter **a);
@ -10,14 +10,18 @@ index 033490a..fe59cb8 100644
+{ +{
+ adapter *ad = malloc1(sizeof(adapter)); + adapter *ad = malloc1(sizeof(adapter));
+ +
+ /* diseqc setup */
+ ad->diseqc_param.fast = opts.diseqc_fast;
+ ad->diseqc_param.committed_no = opts.diseqc_committed_no;
+ ad->diseqc_param.uncommitted_no = opts.diseqc_uncommitted_no;
+ +
+ /* diseqc default timing */ + /* diseqc default timing */
+ ad->diseqc_param.before_cmd = 15; + ad->diseqc_param.before_cmd = opts.diseqc_before_cmd;
+ ad->diseqc_param.after_cmd = 54; + ad->diseqc_param.after_cmd = opts.diseqc_after_cmd;
+ ad->diseqc_param.after_repeated_cmd = 15; + ad->diseqc_param.after_repeated_cmd = opts.diseqc_after_repeated_cmd;
+ ad->diseqc_param.after_switch = 15; + ad->diseqc_param.after_switch = opts.diseqc_after_switch;
+ ad->diseqc_param.after_burst = 15; + ad->diseqc_param.after_burst = opts.diseqc_after_burst;
+ ad->diseqc_param.after_tone = 0; + ad->diseqc_param.after_tone = opts.diseqc_after_tone;
+ +
+ /* diseqc state control */ + /* diseqc state control */
+ ad->old_diseqc = -1; + ad->old_diseqc = -1;
@ -30,7 +34,7 @@ index 033490a..fe59cb8 100644
void find_adapters() void find_adapters()
{ {
static int init_find_adapter; static int init_find_adapter;
@@ -294,6 +315,9 @@ void close_adapter(int na) @@ -294,6 +319,9 @@ void close_adapter(int na)
ad->dvr = 0; ad->dvr = 0;
ad->strength = 0; ad->strength = 0;
ad->snr = 0; ad->snr = 0;
@ -40,7 +44,7 @@ index 033490a..fe59cb8 100644
mutex_unlock(&ad->mutex); mutex_unlock(&ad->mutex);
mutex_destroy(&ad->mutex); mutex_destroy(&ad->mutex);
// if(a[na]->buf)free1(a[na]->buf);a[na]->buf=NULL; // if(a[na]->buf)free1(a[na]->buf);a[na]->buf=NULL;
@@ -381,19 +405,39 @@ void dump_pids(int aid) @@ -381,19 +409,39 @@ void dump_pids(int aid)
} }
} }
@ -86,7 +90,7 @@ index 033490a..fe59cb8 100644
if (ad) if (ad)
LOG("get free adapter %d - a[%d] => e:%d m:%d sid_cnt:%d f:%d pol=%d", LOG("get free adapter %d - a[%d] => e:%d m:%d sid_cnt:%d f:%d pol=%d",
src - 1, i, ad->enabled, ad->master_sid, ad->sid_cnt, src - 1, i, ad->enabled, ad->master_sid, ad->sid_cnt,
@@ -404,13 +448,14 @@ int get_free_adapter(int freq, int pol, int msys, int src) @@ -404,13 +452,14 @@ int get_free_adapter(int freq, int pol, int msys, int src)
if (src > 0) if (src > 0)
{ {
@ -104,7 +108,7 @@ index 033490a..fe59cb8 100644
} }
for (i = 0; i < MAX_ADAPTERS; i++) for (i = 0; i < MAX_ADAPTERS; i++)
{ {
@@ -419,21 +464,17 @@ int get_free_adapter(int freq, int pol, int msys, int src) @@ -419,21 +468,17 @@ int get_free_adapter(int freq, int pol, int msys, int src)
&& delsys_match(ad, msys)) && delsys_match(ad, msys))
return i; return i;
if (!ad && delsys_match(a[i], msys)) // device is not initialized if (!ad && delsys_match(a[i], msys)) // device is not initialized
@ -133,7 +137,7 @@ index 033490a..fe59cb8 100644
LOG("no adapter found for f:%d pol:%d msys:%d", freq, pol, msys); LOG("no adapter found for f:%d pol:%d msys:%d", freq, pol, msys);
dump_adapters(); dump_adapters();
return -1; return -1;
@@ -557,19 +598,13 @@ int tune(int aid, int sid) @@ -557,19 +602,13 @@ int tune(int aid, int sid)
ad->last_sort = getTick(); ad->last_sort = getTick();
if (sid == ad->master_sid && ad->do_tune) if (sid == ad->master_sid && ad->do_tune)
{ {
@ -155,7 +159,7 @@ index 033490a..fe59cb8 100644
ad->rlen = 0; ad->rlen = 0;
if (ad->sid_cnt > 1) // the master changed the frequency if (ad->sid_cnt > 1) // the master changed the frequency
{ {
@@ -1067,7 +1102,7 @@ void set_unicable_adapters(char *o, int type) @@ -1067,7 +1106,7 @@ void set_unicable_adapters(char *o, int type)
continue; continue;
if (!a[a_id]) if (!a[a_id])
@ -164,7 +168,7 @@ index 033490a..fe59cb8 100644
ad = a[a_id]; ad = a[a_id];
sep1 = strchr(arg[i], ':'); sep1 = strchr(arg[i], ':');
@@ -1084,11 +1119,11 @@ void set_unicable_adapters(char *o, int type) @@ -1084,11 +1123,11 @@ void set_unicable_adapters(char *o, int type)
sep3 = strchr(sep2 + 1, '-'); sep3 = strchr(sep2 + 1, '-');
pin = map_intd(sep3, NULL, 0); pin = map_intd(sep3, NULL, 0);
@ -181,7 +185,7 @@ index 033490a..fe59cb8 100644
LOGL(0, "Setting %s adapter %d slot %d freq %d", LOGL(0, "Setting %s adapter %d slot %d freq %d",
type == SWITCH_UNICABLE ? "unicable" : "jess", a_id, slot, freq); type == SWITCH_UNICABLE ? "unicable" : "jess", a_id, slot, freq);
} }
@@ -1096,7 +1131,7 @@ void set_unicable_adapters(char *o, int type) @@ -1096,35 +1135,115 @@ void set_unicable_adapters(char *o, int type)
void set_diseqc_adapters(char *o) void set_diseqc_adapters(char *o)
{ {
@ -190,20 +194,34 @@ index 033490a..fe59cb8 100644
char buf[100], *arg[20], *sep1, *sep2; char buf[100], *arg[20], *sep1, *sep2;
adapter *ad; adapter *ad;
strncpy(buf, o, sizeof(buf)); strncpy(buf, o, sizeof(buf));
@@ -1108,7 +1143,7 @@ void set_diseqc_adapters(char *o) la = split(arg, buf, sizeof(arg), ',');
continue; for (i = 0; i < la; i++)
{
- a_id = map_intd(arg[i], NULL, -1);
- if (a_id < 0 || a_id >= MAX_ADAPTERS)
- continue;
+ if (arg[i] && arg[i][0] == '*') {
+ ad = NULL;
+ a_id = -1;
+ } else {
+ a_id = map_intd(arg[i], NULL, -1);
+ if (a_id < 0 || a_id >= MAX_ADAPTERS)
+ continue;
if (!a[a_id]) - if (!a[a_id])
- a[a_id] = malloc(sizeof(adapter)); - a[a_id] = malloc(sizeof(adapter));
- ad = a[a_id];
+ if (!a[a_id])
+ a[a_id] = adapter_alloc(); + a[a_id] = adapter_alloc();
ad = a[a_id]; + ad = a[a_id];
+ }
sep1 = strchr(arg[i], ':'); sep1 = strchr(arg[i], ':');
@@ -1116,15 +1151,70 @@ void set_diseqc_adapters(char *o) sep2 = strchr(arg[i], '-');
if (!sep1 || !sep2) if (!sep1 || !sep2)
continue; continue;
+ if ((fast = (*sep1 == '*')) != 0) + if ((fast = (sep1[1] == '*')) != 0)
+ sep1++; + sep1++;
committed_no = map_intd(sep1 + 1, NULL, -1); committed_no = map_intd(sep1 + 1, NULL, -1);
uncommitted_no = map_intd(sep2 + 1, NULL, -1); uncommitted_no = map_intd(sep2 + 1, NULL, -1);
@ -214,9 +232,15 @@ index 033490a..fe59cb8 100644
- ad->uncommitted_no = uncommitted_no; - ad->uncommitted_no = uncommitted_no;
- LOGL(0, "Setting diseqc adapter %d committed_no %d uncommitted_no %d", - LOGL(0, "Setting diseqc adapter %d committed_no %d uncommitted_no %d",
- a_id, committed_no, uncommitted_no); - a_id, committed_no, uncommitted_no);
+ if (ad) {
+ ad->diseqc_param.fast = fast; + ad->diseqc_param.fast = fast;
+ ad->diseqc_param.committed_no = committed_no; + ad->diseqc_param.committed_no = committed_no;
+ ad->diseqc_param.uncommitted_no = uncommitted_no; + ad->diseqc_param.uncommitted_no = uncommitted_no;
+ } else {
+ opts.diseqc_fast = fast;
+ opts.diseqc_committed_no = committed_no;
+ opts.diseqc_uncommitted_no = uncommitted_no;
+ }
+ LOGL(0, "Setting diseqc adapter %d fast %d committed_no %d uncommitted_no %d", + LOGL(0, "Setting diseqc adapter %d fast %d committed_no %d uncommitted_no %d",
+ a_id, fast, committed_no, uncommitted_no); + a_id, fast, committed_no, uncommitted_no);
+ } + }
@ -234,6 +258,10 @@ index 033490a..fe59cb8 100644
+ la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, sizeof(arg), ',');
+ for (i = 0; i < la; i++) + for (i = 0; i < la; i++)
+ { + {
+ if (arg[i] && arg[i][0] == '*') {
+ ad = NULL;
+ a_id = -1;
+ } else {
+ a_id = map_intd(arg[i], NULL, -1); + a_id = map_intd(arg[i], NULL, -1);
+ if (a_id < 0 || a_id >= MAX_ADAPTERS) + if (a_id < 0 || a_id >= MAX_ADAPTERS)
+ continue; + continue;
@ -241,6 +269,7 @@ index 033490a..fe59cb8 100644
+ if (!a[a_id]) + if (!a[a_id])
+ a[a_id] = adapter_alloc(); + a[a_id] = adapter_alloc();
+ ad = a[a_id]; + ad = a[a_id];
+ }
+ +
+ sep1 = strchr(arg[i], ':'); + sep1 = strchr(arg[i], ':');
+ sep2 = strchr(arg[i], '-'); + sep2 = strchr(arg[i], '-');
@ -261,12 +290,21 @@ index 033490a..fe59cb8 100644
+ after_switch < 0 || after_burst < 0 || after_tone < 0) + after_switch < 0 || after_burst < 0 || after_tone < 0)
+ continue; + continue;
+ +
+ if (ad) {
+ ad->diseqc_param.before_cmd = before_cmd; + ad->diseqc_param.before_cmd = before_cmd;
+ ad->diseqc_param.after_cmd = after_cmd; + ad->diseqc_param.after_cmd = after_cmd;
+ ad->diseqc_param.after_repeated_cmd = after_repeated_cmd; + ad->diseqc_param.after_repeated_cmd = after_repeated_cmd;
+ ad->diseqc_param.after_switch = after_switch; + ad->diseqc_param.after_switch = after_switch;
+ ad->diseqc_param.after_burst = after_burst; + ad->diseqc_param.after_burst = after_burst;
+ ad->diseqc_param.after_tone = after_tone; + ad->diseqc_param.after_tone = after_tone;
+ } else {
+ opts.diseqc_before_cmd = before_cmd;
+ opts.diseqc_after_cmd = after_cmd;
+ opts.diseqc_after_repeated_cmd = after_repeated_cmd;
+ opts.diseqc_after_switch = after_switch;
+ opts.diseqc_after_burst = after_burst;
+ opts.diseqc_after_tone = after_tone;
+ }
+ LOGL(0, "Setting diseqc timing for adapter %d before cmd %d after cmd %d " + LOGL(0, "Setting diseqc timing for adapter %d before cmd %d after cmd %d "
+ "after repeated cmd %d after switch %d after burst %d after tone %d", + "after repeated cmd %d after switch %d after burst %d after tone %d",
+ a_id, before_cmd, after_cmd, after_repeated_cmd, + a_id, before_cmd, after_cmd, after_repeated_cmd,
@ -274,7 +312,7 @@ index 033490a..fe59cb8 100644
} }
} }
@@ -1152,16 +1242,43 @@ void set_slave_adapters(char *o) @@ -1152,16 +1271,43 @@ void set_slave_adapters(char *o)
for (j = a_id; j <= a_id2; j++) for (j = a_id; j <= a_id2; j++)
{ {
if (!a[j]) if (!a[j])
@ -320,7 +358,7 @@ index 033490a..fe59cb8 100644
extern char *fe_delsys[]; extern char *fe_delsys[];
void set_adapters_delsys(char *o) void set_adapters_delsys(char *o)
{ {
@@ -1186,7 +1303,7 @@ void set_adapters_delsys(char *o) @@ -1186,7 +1332,7 @@ void set_adapters_delsys(char *o)
ds = map_intd(sep + 1, fe_delsys, 0); ds = map_intd(sep + 1, fe_delsys, 0);
if (!a[a_id]) if (!a[a_id])
@ -329,7 +367,7 @@ index 033490a..fe59cb8 100644
ad = a[a_id]; ad = a[a_id];
ad->sys[0] = ds; ad->sys[0] = ds;
@@ -1371,42 +1488,24 @@ char *get_all_delsys(int aid, char *dest, int max_size) @@ -1371,42 +1517,24 @@ char *get_all_delsys(int aid, char *dest, int max_size)
return dest; return dest;
} }
@ -389,7 +427,7 @@ index 033490a..fe59cb8 100644
{ "ad_pids", VAR_FUNCTION_STRING, (void *) &get_adapter_pids, 0, 0, 0 }, { "ad_pids", VAR_FUNCTION_STRING, (void *) &get_adapter_pids, 0, 0, 0 },
{ "tuner_s2", VAR_INT, &tuner_s2, 1, 0, 0 }, { "tuner_s2", VAR_INT, &tuner_s2, 1, 0, 0 },
diff --git a/adapter.h b/adapter.h diff --git a/adapter.h b/adapter.h
index e693479..75f4de7 100644 index e693479..b37c238 100644
--- a/adapter.h --- a/adapter.h
+++ b/adapter.h +++ b/adapter.h
@@ -6,7 +6,11 @@ @@ -6,7 +6,11 @@
@ -433,9 +471,11 @@ index e693479..75f4de7 100644
int set_adapter_for_stream(int i, int a); int set_adapter_for_stream(int i, int a);
void close_adapter_for_stream(int sid, int aid); void close_adapter_for_stream(int sid, int aid);
int set_adapter_parameters(int aid, int sid, transponder * tp); int set_adapter_parameters(int aid, int sid, transponder * tp);
@@ -129,6 +133,7 @@ void enable_adapters(char *o); @@ -128,7 +132,9 @@ void sort_pids(int aid);
void enable_adapters(char *o);
void set_unicable_adapters(char *o, int type); void set_unicable_adapters(char *o, int type);
void set_diseqc_adapters(char *o); void set_diseqc_adapters(char *o);
+void set_diseqc_timing(char *o);
void set_slave_adapters(char *o); void set_slave_adapters(char *o);
+void set_link_adapters(char *o); +void set_link_adapters(char *o);
void reset_pids_type(int aid, int clear_pat); void reset_pids_type(int aid, int clear_pat);
@ -1480,7 +1520,7 @@ index c4c91c0..5ec0d29 100644
for(var j=0;j<max_streams;j++) for(var j=0;j<max_streams;j++)
if(st_enabled[j]==1 && st_adapter[j]==i) if(st_enabled[j]==1 && st_adapter[j]==i)
diff --git a/minisatip.c b/minisatip.c diff --git a/minisatip.c b/minisatip.c
index d6b26d3..9de7a61 100644 index d6b26d3..b26be53 100644
--- a/minisatip.c --- a/minisatip.c
+++ b/minisatip.c +++ b/minisatip.c
@@ -66,6 +66,7 @@ static const struct option long_options[] = @@ -66,6 +66,7 @@ static const struct option long_options[] =
@ -1559,7 +1599,7 @@ index d6b26d3..9de7a61 100644
Help\n\ Help\n\
-------\n\ -------\n\
\n\ \n\
@@ -150,10 +175,14 @@ Help\n\ @@ -150,10 +175,16 @@ Help\n\
* -c X: bandwidth capping for the output to the network [default: unlimited]\n\ * -c X: bandwidth capping for the output to the network [default: unlimited]\n\
* eg: -c 2048 (does not allow minisatip to send more than 2048KB/s to all remote servers)\n\ * eg: -c 2048 (does not allow minisatip to send more than 2048KB/s to all remote servers)\n\
\n\ \n\
@ -1571,14 +1611,16 @@ index d6b26d3..9de7a61 100644
+\t* The first argument is the adapter number, second is the number of committed packets to send to a Diseqc 1.0 switch, third the number of uncommitted commands to sent to a Diseqc 1.1 switch\n\ +\t* The first argument is the adapter number, second is the number of committed packets to send to a Diseqc 1.0 switch, third the number of uncommitted commands to sent to a Diseqc 1.1 switch\n\
+\tThe higher number between the committed and uncommitted will be sent first.\n\ +\tThe higher number between the committed and uncommitted will be sent first.\n\
+ * eg: -d 0:1-0 (which is the default for each adapter).\n\ + * eg: -d 0:1-0 (which is the default for each adapter).\n\
+ - note: * as adapter means apply to all adapters\n\
+ - note: * before committed number enables fast-switch (only voltage/tone)\n\ + - note: * before committed number enables fast-switch (only voltage/tone)\n\
+\n\ +\n\
+* -q --diseqc-timing ADAPTER1:BEFORE_CMD1-AFTER_CMD1-AFTER_REPEATED_CMD1-BEFORE_BURST1-BEFORE_TONE1-FINAL1[,...]\n\ +* -q --diseqc-timing ADAPTER1:BEFORE_CMD1-AFTER_CMD1-AFTER_REPEATED_CMD1-BEFORE_BURST1-BEFORE_TONE1-FINAL1[,...]\n\
+\t* All timing values are in ms, default adapter values are: 15-54-15-15-15-0\n\ +\t* All timing values are in ms, default adapter values are: 15-54-15-15-15-0\n\
+ - note: * as adapter means apply to all adapters\n\
\n\ \n\
* -D --device-id DVC_ID: specify the device id (in case there are multiple SAT>IP servers in the network)\n \ * -D --device-id DVC_ID: specify the device id (in case there are multiple SAT>IP servers in the network)\n \
* eg: -D 4 \n\ * eg: -D 4 \n\
@@ -179,13 +208,23 @@ Help\n\ @@ -179,13 +210,23 @@ Help\n\
* -m xx: simulate xx as local mac address, generates UUID based on mac\n\ * -m xx: simulate xx as local mac address, generates UUID based on mac\n\
* eg: -m 001122334455 \n\ * eg: -m 001122334455 \n\
\n\ \n\
@ -1602,7 +1644,7 @@ index d6b26d3..9de7a61 100644
* -p url: specify playlist url using X_SATIPM3U header \n\ * -p url: specify playlist url using X_SATIPM3U header \n\
* eg: -p http://192.168.2.3:8080/playlist\n\ * eg: -p http://192.168.2.3:8080/playlist\n\
- this will add X_SATIPM3U tag into the satip description xml\n\ - this will add X_SATIPM3U tag into the satip description xml\n\
@@ -195,6 +234,9 @@ Help\n\ @@ -195,6 +236,9 @@ Help\n\
\n\ \n\
* -R --document-root directory: document root for the minisatip web page and images\n\ * -R --document-root directory: document root for the minisatip web page and images\n\
\n\ \n\
@ -1612,7 +1654,7 @@ index d6b26d3..9de7a61 100644
* -s --satip-servers DELSYS:host:port - specify the remote satip host and port with delivery system DELSYS, it is possible to use multiple -s \n\ * -s --satip-servers DELSYS:host:port - specify the remote satip host and port with delivery system DELSYS, it is possible to use multiple -s \n\
* DELSYS - can be one of: dvbs, dvbs2, dvbt, dvbt2, dvbc, dvbc2, isdbt, atsc, dvbcb ( - DVBC_ANNEX_B ) [default: dvbs2]\n\ * DELSYS - can be one of: dvbs, dvbs2, dvbt, dvbt2, dvbc, dvbc2, isdbt, atsc, dvbcb ( - DVBC_ANNEX_B ) [default: dvbs2]\n\
host - the server of the satip server\n\ host - the server of the satip server\n\
@@ -204,6 +246,9 @@ Help\n\ @@ -204,6 +248,9 @@ Help\n\
- specifies 1 dvbt satip server with address 192.168.1.3:554\n\ - specifies 1 dvbt satip server with address 192.168.1.3:554\n\
- specifies 1 dvbc satip server with address 192.168.1.4:554\n\ - specifies 1 dvbc satip server with address 192.168.1.4:554\n\
\n\ \n\
@ -1622,7 +1664,7 @@ index d6b26d3..9de7a61 100644
* -S --slave ADAPTER1,ADAPTER2-ADAPTER4[,..] - specify slave adapters \n\ * -S --slave ADAPTER1,ADAPTER2-ADAPTER4[,..] - specify slave adapters \n\
* Allows specifying bonded adapters (multiple adapters connected with a splitter to the same LNB)\n\ * Allows specifying bonded adapters (multiple adapters connected with a splitter to the same LNB)\n\
Only one adapter needs to be master all others needs to have this parameter specified\n\ Only one adapter needs to be master all others needs to have this parameter specified\n\
@@ -237,7 +282,26 @@ Help\n\ @@ -237,7 +284,26 @@ Help\n\
* eg: -y 5544 \n\ * eg: -y 5544 \n\
- changing this to a port > 1024 removes the requirement for minisatip to run as root\n\ - changing this to a port > 1024 removes the requirement for minisatip to run as root\n\
\n\ \n\
@ -1650,7 +1692,7 @@ index d6b26d3..9de7a61 100644
app_name, app_name,
ADAPTER_BUFFER, ADAPTER_BUFFER,
DVR_BUFFER, opts.no_threads ? "DISABLED" : "ENABLED"); DVR_BUFFER, opts.no_threads ? "DISABLED" : "ENABLED");
@@ -277,17 +341,19 @@ void set_options(int argc, char *argv[]) @@ -277,17 +343,24 @@ void set_options(int argc, char *argv[])
opts.satip_setup_pids = 0; opts.satip_setup_pids = 0;
opts.output_buffer = 512 * 1024; opts.output_buffer = 512 * 1024;
opts.satip_servers[0] = 0; opts.satip_servers[0] = 0;
@ -1659,7 +1701,12 @@ index d6b26d3..9de7a61 100644
opts.xml_path = DESC_XML; opts.xml_path = DESC_XML;
opts.no_threads = 0; opts.no_threads = 0;
opts.th_priority = -1; opts.th_priority = -1;
+ + opts.diseqc_before_cmd = 15;
+ opts.diseqc_after_cmd = 54;
+ opts.diseqc_after_repeated_cmd = 15;
+ opts.diseqc_after_switch = 15;
+ opts.diseqc_after_burst = 15;
+ opts.diseqc_after_tone = 0;
#ifdef __mips__ #ifdef __mips__
opts.no_threads = 1; opts.no_threads = 1;
#endif #endif
@ -1672,7 +1719,7 @@ index d6b26d3..9de7a61 100644
long_options, NULL)) != -1) long_options, NULL)) != -1)
{ {
// printf("options %d %c %s\n",opt,opt,optarg); // printf("options %d %c %s\n",opt,opt,optarg);
@@ -359,9 +425,12 @@ void set_options(int argc, char *argv[]) @@ -359,9 +432,12 @@ void set_options(int argc, char *argv[])
opts.adapter_buffer = (opts.adapter_buffer / 188) * 188; opts.adapter_buffer = (opts.adapter_buffer / 188) * 188;
if (opts.adapter_buffer < ADAPTER_BUFFER) if (opts.adapter_buffer < ADAPTER_BUFFER)
opts.adapter_buffer = ADAPTER_BUFFER; opts.adapter_buffer = ADAPTER_BUFFER;
@ -1686,7 +1733,7 @@ index d6b26d3..9de7a61 100644
break; break;
} }
@@ -410,6 +479,12 @@ void set_options(int argc, char *argv[]) @@ -410,6 +486,12 @@ void set_options(int argc, char *argv[])
break; break;
} }
@ -1699,7 +1746,7 @@ index d6b26d3..9de7a61 100644
case SLAVE_OPT: case SLAVE_OPT:
{ {
set_slave_adapters(optarg); set_slave_adapters(optarg);
@@ -508,6 +583,33 @@ void set_options(int argc, char *argv[]) @@ -508,6 +590,33 @@ void set_options(int argc, char *argv[])
LOGL(0, "Not a valid path for the xml file") LOGL(0, "Not a valid path for the xml file")
; ;
break; break;
@ -1733,7 +1780,15 @@ index d6b26d3..9de7a61 100644
} }
} }
@@ -1003,6 +1105,9 @@ int ssdp_reply(sockets * s) @@ -676,7 +785,6 @@ int read_rtsp(sockets * s)
if (transport)
{
int s_timeout;
-
if (sid->timeout == 1)
sid->timeout = opts.timeout_sec;
@@ -1003,6 +1111,9 @@ int ssdp_reply(sockets * s)
return 0; return 0;
} }
@ -1743,7 +1798,7 @@ index d6b26d3..9de7a61 100644
// not my uuid // not my uuid
LOG("Received SSDP packet from %s:%d -> handle %d", LOG("Received SSDP packet from %s:%d -> handle %d",
get_socket_rhost(s->id, ra, sizeof(ra)), get_socket_rport(s->id), get_socket_rhost(s->id, ra, sizeof(ra)), get_socket_rport(s->id),
@@ -1138,7 +1243,11 @@ int main(int argc, char *argv[]) @@ -1138,7 +1249,11 @@ int main(int argc, char *argv[])
if (!opts.no_threads) if (!opts.no_threads)
set_socket_thread(sock_signal, start_new_thread("signal")); set_socket_thread(sock_signal, start_new_thread("signal"));
@ -1758,7 +1813,7 @@ index d6b26d3..9de7a61 100644
diff --git a/minisatip.h b/minisatip.h diff --git a/minisatip.h b/minisatip.h
old mode 100644 old mode 100644
new mode 100755 new mode 100755
index 403af34..69c9268 index 403af34..3cd6977
--- a/minisatip.h --- a/minisatip.h
+++ b/minisatip.h +++ b/minisatip.h
@@ -10,13 +10,15 @@ @@ -10,13 +10,15 @@
@ -1788,6 +1843,22 @@ index 403af34..69c9268
char *last_log; char *last_log;
int dvbapi_port; int dvbapi_port;
char *dvbapi_host; char *dvbapi_host;
@@ -62,6 +67,15 @@ struct struct_opts
char *xml_path;
char no_threads;
int th_priority;
+ int diseqc_fast;
+ int diseqc_committed_no;
+ int diseqc_uncommitted_no;
+ int diseqc_before_cmd;
+ int diseqc_after_cmd;
+ int diseqc_after_repeated_cmd;
+ int diseqc_after_switch;
+ int diseqc_after_burst;
+ int diseqc_after_tone;
};
diff --git a/netceiver.c b/netceiver.c diff --git a/netceiver.c b/netceiver.c
index e42023e..51ef642 100644 index e42023e..51ef642 100644
--- a/netceiver.c --- a/netceiver.c