/*** DVB-T ***/ static int dvbt_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq) { const char *mod = var_InheritModulation (obj, "dvb-modulation"); uint32_t fec_hp = var_InheritCodeRate (obj, "dvb-code-rate-hp"); uint32_t fec_lp = var_InheritCodeRate (obj, "dvb-code-rate-lp"); uint32_t guard = var_InheritGuardInterval (obj); uint32_t bw = var_InheritInteger (obj, "dvb-bandwidth"); int tx = var_InheritInteger (obj, "dvb-transmission"); int h = var_InheritInteger (obj, "dvb-hierarchy"); return dvb_set_dvbt (dev, freq, mod, fec_hp, fec_lp, bw, tx, guard, h); }
/*** ISDB-T ***/ static int isdbt_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq) { isdbt_layer_t layers[3]; uint32_t guard = var_InheritGuardInterval (obj); uint32_t bw = var_InheritInteger (obj, "dvb-bandwidth"); int tx = var_InheritInteger (obj, "dvb-transmission"); for (unsigned i = 0; i < 3; i++) { char varname[sizeof ("dvb-X-interleaving")]; memcpy (varname, "dvb-X-", 4); varname[4] = 'a' + i; strcpy (varname + 6, "modulation"); layers[i].modulation = var_InheritModulation (obj, varname); strcpy (varname + 6, "fec"); layers[i].code_rate = var_InheritCodeRate (obj, varname); strcpy (varname + 6, "count"); layers[i].segment_count = var_InheritInteger (obj, varname); strcpy (varname + 6, "interleaving"); layers[i].time_interleaving = var_InheritInteger (obj, varname); } return dvb_set_isdbt (dev, freq, bw, tx, guard, layers); }
/*** ISDB-C ***/ static int isdbc_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq) { const char *mod = var_InheritModulation (obj, "dvb-modulation"); uint32_t fec = var_InheritCodeRate (obj, "dvb-fec"); unsigned srate = var_InheritInteger (obj, "dvb-srate"); return dvb_set_isdbc (dev, freq, mod, srate, fec); }
static int dvbs_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq) { uint32_t fec = var_InheritCodeRate (obj, "dvb-fec"); uint32_t srate = var_InheritInteger (obj, "dvb-srate"); int ret = dvb_set_dvbs (dev, freq, srate, fec); if (ret == 0) sec_setup (obj, dev, freq); return ret; }
static int dvbt2_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq) { const char *mod = var_InheritModulation (obj, "dvb-modulation"); uint32_t fec = var_InheritCodeRate (obj, "dvb-fec"); uint32_t guard = var_InheritGuardInterval (obj); uint32_t bw = var_InheritInteger (obj, "dvb-bandwidth"); int tx = var_InheritInteger (obj, "dvb-transmission"); return dvb_set_dvbt2 (dev, freq, mod, fec, bw, tx, guard); }
static int dvbs2_setup (vlc_object_t *obj, dvb_device_t *dev, uint64_t freq) { const char *mod = var_InheritModulation (obj, "dvb-modulation"); uint32_t fec = var_InheritCodeRate (obj, "dvb-fec"); uint32_t srate = var_InheritInteger (obj, "dvb-srate"); int pilot = var_InheritInteger (obj, "dvb-pilot"); int rolloff = var_InheritInteger (obj, "dvb-rolloff"); int ret = dvb_set_dvbs2 (dev, freq, mod, srate, fec, pilot, rolloff); if (ret == 0) ret = sec_setup (obj, dev, freq); return ret; }