diff --git a/src/adapter.c b/src/adapter.c index e034e3e..f7727b8 100644 --- a/src/adapter.c +++ b/src/adapter.c @@ -550,7 +550,7 @@ int getAdaptersCount() memset(&fe_map, -1, sizeof(fe_map)); k = 0; - for (i = 0; i < sizeof(order); i++) + for (i = 0; i < ARRAY_SIZE(order); i++) { int sys = order[i]; for (j = 0; j < ifes[sys]; j++) @@ -676,7 +676,7 @@ int get_free_adapter(transponder *tp) adapter *ad = a[0]; - if ((fe > 0) && (fe <= sizeof(fe_map)) && (fe_map[fe - 1] >= 0)) + if ((fe > 0) && (fe <= ARRAY_SIZE(fe_map)) && (fe_map[fe - 1] >= 0)) { fe = fe_map[fe - 1]; ad = a[fe]; @@ -878,7 +878,7 @@ int update_pids(int aid) if (dp) dump_pids(aid); dp = 0; - if (ad->pids[i].fd <= 0) + if (ad->pids[i].fd <= 0) { if ((ad->pids[i].fd = ad->set_pid(ad, ad->pids[i].pid)) < 0) { @@ -888,6 +888,8 @@ int update_pids(int aid) LOG0("Maximum pid filter reached, lowering the value to %d", opts.max_pids); break; } + ad->active_pids++; + } ad->pids[i].flags = 1; if (ad->pids[i].pid == 0) ad->pat_processed = 0; @@ -895,7 +897,6 @@ int update_pids(int aid) ad->pids[i].cc = 255; ad->pids[i].cc_err = 0; ad->pids[i].dec_err = 0; - ad->active_pids++; } if (ad->commit) ad->commit(ad); @@ -906,7 +907,9 @@ int update_pids(int aid) void post_tune(adapter *ad) { +#if !defined(DISABLE_PMT) || !defined(DISABLE_T2MI) int aid = ad->id; +#endif #ifndef DISABLE_PMT SPid *p = find_pid(aid, 0); SPid *p_all = find_pid(aid, 8192); @@ -1066,7 +1069,7 @@ void mark_pids_deleted(int aid, int sid, char *pids) //pids==NULL -> delete all pids ? pids : "NULL"); if (pids) { - la = split(arg, pids, MAX_PIDS, ','); + la = split(arg, pids, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { pid = map_int(arg[i], NULL); @@ -1146,7 +1149,7 @@ int mark_pids_add(int sid, int aid, char *pids) LOG("adding pids to adapter %d, sid %d, pids=%s", aid, sid, pids ? pids : "NULL"); - la = split(arg, pids, MAX_PIDS, ','); + la = split(arg, pids, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { pid = map_intd(arg[i], NULL, -1); @@ -1242,7 +1245,7 @@ int set_adapter_parameters(int aid, int sid, transponder *tp) { char *arg[64]; int i, la; - la = split(arg, ad->tp.x_pmt, 64, ','); + la = split(arg, ad->tp.x_pmt, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { int pmt = map_int(arg[i], NULL); @@ -1436,12 +1439,12 @@ void set_disable(int i, int v) void enable_adapters(char *o) { int i, la, st, end, j; - char buf[100], *arg[20], *sep; + char buf[1000], *arg[40], *sep; for (i = 0; i < MAX_ADAPTERS; i++) set_disable(i, 1); SAFE_STRCPY(buf, o); - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { sep = strchr(arg[i], '-'); @@ -1463,10 +1466,10 @@ void enable_adapters(char *o) void set_unicable_adapters(char *o, int type) { int i, la, a_id, slot, freq, pin, o13v; - char buf[100], *arg[20], *sep1, *sep2, *sep3; + char buf[1000], *arg[40], *sep1, *sep2, *sep3; adapter *ad; SAFE_STRCPY(buf, o); - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { a_id = map_intd(arg[i], NULL, -1); @@ -1504,10 +1507,10 @@ void set_unicable_adapters(char *o, int type) void set_diseqc_adapters(char *o) { int i, la, a_id, fast, committed_no, uncommitted_no; - char buf[100], *arg[20], *sep1, *sep2; + char buf[1000], *arg[40], *sep1, *sep2; adapter *ad; SAFE_STRCPY(buf, o); - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { if (arg[i] && arg[i][0] == '*') @@ -1567,10 +1570,10 @@ void set_diseqc_adapters(char *o) void set_diseqc_multi(char *o) { int i, la, a_id, position; - char buf[100], *arg[20], *sep1; + char buf[1000], *arg[40], *sep1; adapter *ad; SAFE_STRCPY(buf, o); - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { if (arg[i] && arg[i][0] == '*') @@ -1619,10 +1622,10 @@ void set_diseqc_multi(char *o) void set_lnb_adapters(char *o) { int i, la, a_id, lnb_low, lnb_high, lnb_switch; - char buf[100], *arg[20], *sep1, *sep2, *sep3; + char buf[1000], *arg[40], *sep1, *sep2, *sep3; adapter *ad; SAFE_STRCPY(buf, o); - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { if (arg[i] && arg[i][0] == '*') @@ -1692,11 +1695,11 @@ void set_diseqc_timing(char *o) int i, la, a_id; int before_cmd, after_cmd, after_repeated_cmd; int after_switch, after_burst, after_tone; - char buf[2000], *arg[20]; + char buf[2000], *arg[40]; char *sep1, *sep2, *sep3, *sep4, *sep5, *sep6; adapter *ad; SAFE_STRCPY(buf, o); - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { if (arg[i] && arg[i][0] == '*') @@ -1773,10 +1776,10 @@ void set_diseqc_timing(char *o) void set_slave_adapters(char *o) { int i, j, la, a_id, a_id2, master = 0; - char buf[100], *arg[20], *sep, *sep2; + char buf[1000], *arg[40], *sep, *sep2; adapter *ad; SAFE_STRCPY(buf, o); - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { a_id = map_intd(arg[i], NULL, -1); @@ -1826,13 +1829,13 @@ void set_timeout_adapters(char *o) { int i, j, la, a_id, a_id2; int timeout = opts.adapter_timeout / 1000; - char buf[100], *arg[20], *sep; + char buf[1000], *arg[40], *sep; adapter *ad; SAFE_STRCPY(buf, o); sep = strchr(buf, ':'); if (sep) timeout = map_intd(sep + 1, NULL, timeout); - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); if (arg[0] && (arg[0][0] == '*')) { opts.adapter_timeout = timeout * 1000; @@ -1876,10 +1879,10 @@ extern char *fe_delsys[]; void set_adapters_delsys(char *o) { int i, la, a_id, ds; - char buf[100], *arg[20], *sep; + char buf[1000], *arg[40], *sep; adapter *ad; SAFE_STRCPY(buf, o); - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { a_id = map_intd(arg[i], NULL, -1); @@ -1916,10 +1919,10 @@ void set_adapters_delsys(char *o) void set_adapter_dmxsource(char *o) { int i, j, la, st, end, fd; - char buf[100], *arg[20], *sep, *seps; + char buf[1000], *arg[40], *sep, *seps; adapter *ad; SAFE_STRCPY(buf, o); - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { sep = strchr(arg[i], '-'); @@ -1956,10 +1959,10 @@ void set_signal_multiplier(char *o) { int i, la, a_id; float strength_multiplier, snr_multiplier; - char buf[100], *arg[20], *sep1, *sep2; + char buf[1000], *arg[40], *sep1, *sep2; adapter *ad; SAFE_STRCPY(buf, o); - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { if (arg[i] && arg[i][0] == '*') diff --git a/src/axe.c b/src/axe.c index 52e8dad..b3fe35e 100644 --- a/src/axe.c +++ b/src/axe.c @@ -48,7 +48,7 @@ #ifndef DISABLE_LINUXDVB -void get_signal(adapter *ad, uint32_t *status, uint32_t *ber, uint16_t *strength, uint16_t *snr); +void get_signal(adapter *ad, int *status, int *ber, int *strength, int *snr); int send_jess(adapter *ad, int fd, int freq, int pos, int pol, int hiband, diseqc *d); int send_unicable(adapter *ad, int fd, int freq, int pos, int pol, int hiband, diseqc *d); int send_diseqc(adapter *ad, int fd, int pos, int pos_change, int pol, int hiband, diseqc *d); @@ -210,7 +210,7 @@ static inline int extra_quattro(int input, int diseqc, int *equattro) return *equattro; } -adapter *use_adapter(int input) +adapter *axe_use_adapter(int input) { int input2 = input < 4 ? input : -1; adapter *ad = get_configured_adapter(input2); @@ -229,8 +229,30 @@ adapter *use_adapter(int input) return ad; } -int tune_check(adapter *ad, int pol, int hiband, int diseqc) +int axe_get_hiband(transponder *tp, diseqc *diseqc_param) { + if (tp->pol > 2 && diseqc_param->lnb_circular > 0) + return 0; + if (tp->freq < diseqc_param->lnb_switch) + return 0; + return 1; +} + +int axe_get_freq(transponder *tp, diseqc *diseqc_param) +{ + int freq = tp->freq; + + if (tp->pol > 2 && diseqc_param->lnb_circular > 0) + return (freq - diseqc_param->lnb_circular); + if (freq < diseqc_param->lnb_switch) + return (freq - diseqc_param->lnb_low); + return (freq - diseqc_param->lnb_high); +} + +int axe_tune_check(adapter *ad, transponder *tp, diseqc *diseqc_param, int diseqc) +{ + int pol = (tp->pol - 1) & 1; + int hiband = axe_get_hiband(tp, diseqc_param); LOGM("axe: tune check for adapter %d, pol %d/%d, hiband %d/%d, diseqc %d/%d", ad->id, ad->old_pol, pol, ad->old_hiband, hiband, ad->old_diseqc, diseqc); if (ad->old_pol != pol) @@ -249,33 +271,25 @@ int axe_setup_switch(adapter *ad) { int frontend_fd = ad->fe; transponder *tp = &ad->tp; + diseqc *diseqc_param = &tp->diseqc_param; - int hiband = 0; + int hiband; + int freq; int diseqc = (tp->diseqc > 0) ? tp->diseqc - 1 : 0; - int freq = tp->freq; int pol = (tp->pol - 1) & 1; - if (tp->pol > 2 && tp->diseqc_param.lnb_circular > 0) - { - freq = (freq - tp->diseqc_param.lnb_circular); - hiband = 0; - } - else if (freq < tp->diseqc_param.lnb_switch) - { - freq = (freq - tp->diseqc_param.lnb_low); - hiband = 0; - } - else - { - freq = (freq - tp->diseqc_param.lnb_high); - hiband = 1; - } - adapter *ad2, *adm; int input = 0, aid, pos = 0, equattro = 0, master = -1; - if (tp->diseqc_param.switch_type != SWITCH_UNICABLE && - tp->diseqc_param.switch_type != SWITCH_JESS) + /* this is a new tune, so clear all adapter<->input mappings */ + for (aid = 0; aid < 4; aid++) + { + ad2 = a[aid]; + ad2->axe_used &= ~(1 << ad->id); + } + + if (diseqc_param->switch_type != SWITCH_UNICABLE && + diseqc_param->switch_type != SWITCH_JESS) { input = ad->id; if (!opts.quattro || extra_quattro(input, diseqc, &equattro)) @@ -298,7 +312,7 @@ int axe_setup_switch(adapter *ad) continue; if ((ad2->axe_used & ~(1 << ad->id)) == 0) continue; - if (!tune_check(ad2, pol, hiband, pos)) + if (!axe_tune_check(ad2, tp, &ad2->diseqc_param, pos)) continue; break; } @@ -327,7 +341,7 @@ int axe_setup_switch(adapter *ad) } diseqc = pos; master = aid; - adm = use_adapter(master); + adm = axe_use_adapter(master); if (adm == NULL) { LOG("axe_fe: unknown master adapter for input %d", input); @@ -337,7 +351,7 @@ int axe_setup_switch(adapter *ad) else { master = (ad->master_source >= 0) ? ad->master_source : ad->pa; - adm = use_adapter(master); + adm = axe_use_adapter(master); if (adm == NULL) { LOG("axe_fe: unknown master adapter for input %d", input); @@ -357,7 +371,7 @@ int axe_setup_switch(adapter *ad) if (ad2->sid_cnt > 0) break; } - if (adm != ad && aid < 4 && !tune_check(adm, pol, hiband, diseqc)) + if (adm != ad && aid < 4 && !axe_tune_check(adm, tp, &adm->diseqc_param, diseqc)) { LOG("unable to use slave adapter %d (master %d)", input, adm->pa); return 0; @@ -368,10 +382,13 @@ int axe_setup_switch(adapter *ad) if (master >= 0) { input = master; - if (!tune_check(adm, pol, hiband, diseqc)) + diseqc_param = &adm->diseqc_param; + hiband = axe_get_hiband(tp, diseqc_param); + freq = axe_get_freq(tp, diseqc_param); + if (!axe_tune_check(adm, tp, diseqc_param, diseqc)) { send_diseqc(adm, adm->fe2, diseqc, adm->old_diseqc != diseqc, - pol, hiband, &tp->diseqc_param); + pol, hiband, diseqc_param); adm->old_pol = pol; adm->old_hiband = hiband; adm->old_diseqc = diseqc; @@ -381,6 +398,7 @@ int axe_setup_switch(adapter *ad) } else if (opts.quattro) { + hiband = axe_get_hiband(tp, diseqc_param); if (opts.quattro_hiband == 1 && hiband) { LOG("axe_fe: hiband is not allowed for quattro config (adapter %d)", input); @@ -392,17 +410,19 @@ int axe_setup_switch(adapter *ad) return 0; } input = ((hiband ^ 1) << 1) | (pol ^ 1); - adm = use_adapter(input); + adm = axe_use_adapter(input); if (adm == NULL) { LOG("axe_fe: unknown master adapter %d", input); return 0; } adm->old_diseqc = diseqc = 0; - if (!tune_check(adm, pol, hiband, 0)) + diseqc_param = &adm->diseqc_param; + hiband = axe_get_hiband(tp, diseqc_param); + freq = axe_get_freq(tp, diseqc_param); + if (!axe_tune_check(adm, tp, diseqc_param, 0)) { - send_diseqc(adm, adm->fe2, 0, 0, pol, hiband, - &tp->diseqc_param); + send_diseqc(adm, adm->fe2, 0, 0, pol, hiband, diseqc_param); adm->old_pol = pol; adm->old_hiband = hiband; adm->old_diseqc = 0; @@ -414,9 +434,15 @@ int axe_setup_switch(adapter *ad) else { aid = ad->id & 3; - input = ad->master_source < 0 ? 0 : ad->master_source; //opts.axe_unicinp[aid]; + if (diseqc_param->switch_type == SWITCH_UNICABLE || + diseqc_param->switch_type == SWITCH_JESS) + { + input = ad->dmx_source < 0 ? 0 : ad->dmx_source; + } else { + input = ad->master_source < 0 ? 0 : ad->master_source; + } frontend_fd = ad->fe; - ad = use_adapter(input); + ad = axe_use_adapter(input); if (ad == NULL) { LOGM("axe setup: unable to find adapter %d", input); @@ -429,17 +455,20 @@ int axe_setup_switch(adapter *ad) ad->id, input, ad->fe, ad->fe2); } - if (tp->diseqc_param.switch_type == SWITCH_UNICABLE) + hiband = axe_get_hiband(tp, diseqc_param); + freq = axe_get_freq(tp, diseqc_param); + + if (diseqc_param->switch_type == SWITCH_UNICABLE) { freq = send_unicable(ad, ad->fe2, freq / 1000, diseqc, - pol, hiband, &tp->diseqc_param); + pol, hiband, diseqc_param); } - else if (tp->diseqc_param.switch_type == SWITCH_JESS) + else if (diseqc_param->switch_type == SWITCH_JESS) { freq = send_jess(ad, ad->fe2, freq / 1000, diseqc, - pol, hiband, &tp->diseqc_param); + pol, hiband, diseqc_param); } - else if (tp->diseqc_param.switch_type == SWITCH_SLAVE) + else if (diseqc_param->switch_type == SWITCH_SLAVE) { LOG("FD %d (%d) is a slave adapter", frontend_fd); } @@ -447,7 +476,7 @@ int axe_setup_switch(adapter *ad) { if (ad->old_pol != pol || ad->old_hiband != hiband || ad->old_diseqc != diseqc) send_diseqc(ad, frontend_fd, diseqc, ad->old_diseqc != diseqc, pol, - hiband, &tp->diseqc_param); + hiband, diseqc_param); else LOGM("Skip sending diseqc commands since " "the switch position doesn't need to be changed: " @@ -669,8 +698,8 @@ fe_delivery_system_t axe_delsys(int aid, int fd, fe_delivery_system_t *sys) void axe_get_signal(adapter *ad) { - uint16_t strength = 0, snr = 0, tmp; - uint32_t status = 0, ber = 0; + int strength = 0, snr = 0, tmp; + int status = 0, ber = 0; get_signal(ad, &status, &ber, &strength, &snr); strength = strength * 240 / 24000; @@ -819,9 +848,11 @@ void free_axe_input(adapter *ad) for (aid = 0; aid < 4; aid++) { - ad2 = get_adapter(aid); - if (ad2) + ad2 = get_configured_adapter(aid); + if (ad2) { ad2->axe_used &= ~(1 << ad->id); + LOGM("axe: free input %d : %04x", ad2->id, ad2->axe_used); + } } } @@ -829,11 +860,11 @@ void free_axe_input(adapter *ad) void set_link_adapters(char *o) { int i, la, a_id, b_id; - char buf[100], *arg[20], *sep1; + char buf[1000], *arg[40], *sep1; strncpy(buf, o, sizeof(buf) - 1); buf[sizeof(buf) - 1] = '\0'; - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { a_id = map_intd(arg[i], NULL, -1); @@ -857,11 +888,11 @@ void set_link_adapters(char *o) void set_absolute_src(char *o) { int i, la, src, inp, pos; - char buf[100], *arg[20], *inps, *poss; + char buf[1000], *arg[40], *inps, *poss; strncpy(buf, o, sizeof(buf) - 1); buf[sizeof(buf) - 1] = '\0'; - la = split(arg, buf, sizeof(arg), ','); + la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { inps = strchr(arg[i], ':'); diff --git a/src/dvb.c b/src/dvb.c index 5184c4d..f3b6ac3 100644 --- a/src/dvb.c +++ b/src/dvb.c @@ -192,7 +192,7 @@ int detect_dvb_parameters(char *s, transponder *tp) init_dvb_parameters(tp); LOG("detect_dvb_parameters (S)-> %s", s); - la = split(arg, s, 20, '&'); + la = split(arg, s, ARRAY_SIZE(arg), '&'); for (i = 0; i < la; i++) { diff --git a/src/minisatip.c b/src/minisatip.c index 0cd9b0b..a35ef19 100644 --- a/src/minisatip.c +++ b/src/minisatip.c @@ -552,7 +552,7 @@ void set_options(int argc, char *argv[]) #endif #ifdef AXE opts.no_threads = 1; - opts.document_root = "/usr/share/minisatip/html"; + opts.document_root = "/usr/share/minisatip8/html"; #define AXE_OPTS "7:QW:8:A:" #else #define AXE_OPTS "" @@ -614,7 +614,7 @@ void set_options(int argc, char *argv[]) int i; memset(buf, 0, sizeof(buf)); strncpy(buf, optarg, sizeof(buf) - 1); - int la = split(arg, buf, 50, ','); + int la = split(arg, buf, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { int level = map_intd(arg[i], loglevels, -1); @@ -1046,7 +1046,7 @@ int read_rtsp(sockets *s) return 0; } - la = split(arg, (char *)s->buf, 50, ' '); + la = split(arg, (char *)s->buf, ARRAY_SIZE(arg), ' '); cseq = 0; if (la < 2) LOG_AND_RETURN(0, @@ -1311,7 +1311,7 @@ int read_http(sockets *s) LOG("read HTTP from %d sid: %d: ", s->sock, s->sid); LOGM("%s", s->buf); - split(arg, (char *)s->buf, 50, ' '); + split(arg, (char *)s->buf, ARRAY_SIZE(arg), ' '); // LOG("args: %s -> %s -> %s",arg[0],arg[1],arg[2]); if (strncmp(arg[0], "GET", 3) && strncmp(arg[0], "POST", 4) && !is_head) REPLY_AND_RETURN(503); diff --git a/src/minisatip.h b/src/minisatip.h index 6512250..1725565 100644 --- a/src/minisatip.h +++ b/src/minisatip.h @@ -9,7 +9,7 @@ #define VERSION_BUILD "16" #define CC(a, b, c) #a b #c -#define VERSION CC(0.7., VERSION_BUILD, ) +#define VERSION CC(0.7., VERSION_BUILD, -axe211) void set_options(int argc, char *argv[]); diff --git a/src/satipc.c b/src/satipc.c index 24c82ff..38df122 100644 --- a/src/satipc.c +++ b/src/satipc.c @@ -176,7 +176,7 @@ int satipc_reply(sockets *s) sip->option_no_option = 1; } - la = split(arg, (char *)s->buf, 100, ' '); + la = split(arg, (char *)s->buf, ARRAY_SIZE(arg), ' '); rc = map_int(arg[1], NULL); if (sip->option_no_session && sip->last_cmd == RTSP_OPTIONS && !sess && sip->session[0]) @@ -1288,7 +1288,7 @@ void find_satip_adapter(adapter **a) return; char satip_servers[strlen(opts.satip_servers) + 10]; strcpy(satip_servers, opts.satip_servers); - la = split(arg, satip_servers, 50, ','); + la = split(arg, satip_servers, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { @@ -1420,7 +1420,7 @@ void satip_getxml_data(char *data, int len, void *opaque, Shttp_client *h) eos = strchr(sep, '<'); if (eos) *eos = 0; - la = split(arg, sep, MAX_DVBAPI_SYSTEMS, ','); + la = split(arg, sep, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { int ds = map_intd(arg[i], satip_delsys, -1); @@ -1474,7 +1474,7 @@ int satip_getxml(void *x) memset(satip_xml, 0, sizeof(satip_xml)); memset(sxd, 0, sizeof(sxd)); strncpy(satip_xml, opts.satip_xml, sizeof(satip_xml) - 1); - la = split(arg, satip_xml, MAX_SATIP_XML, ','); + la = split(arg, satip_xml, ARRAY_SIZE(arg), ','); for (i = 0; i < la; i++) { SAFE_STRCPY(sxd[i].url, arg[i]); diff --git a/src/stream.c b/src/stream.c index bde2992..f587e93 100644 --- a/src/stream.c +++ b/src/stream.c @@ -422,7 +422,7 @@ int decode_transport(sockets *s, char *arg, char *default_rtp, int start_rtp) return 0; } - l = split(arg2, arg, 10, ';'); + l = split(arg2, arg, ARRAY_SIZE(arg2), ';'); } // LOG("arg2 %s %s %s",arg2[0],arg2[1],arg2[2]); memset(&p, 0, sizeof(p)); @@ -987,7 +987,7 @@ int process_dmx(sockets *s) #endif rlen = ad->rlen; - int packet_no_sid = check_cc(ad); + const int packet_no_sid = 0 /* check_cc(ad) */; if (ad->sid_cnt == 1 && ad->master_sid >= 0 && !packet_no_sid) // we have just 1 stream, do not check the pids, send everything to the destination { diff --git a/src/utils.h b/src/utils.h index 1c9aa0d..c184668 100644 --- a/src/utils.h +++ b/src/utils.h @@ -263,6 +263,8 @@ static inline int get_index_hash(void *p, int max, int struct_size, uint32_t key typedef ssize_t (*mywritev)(int fd, const struct iovec *io, int len); +#define ARRAY_SIZE(a) (sizeof(a)/sizeof(a[0])) + #ifdef TESTING #define writev(a, b, c) _writev(a, b, c)