fixed FE_QPSK tuning (all frequencies were overwritten when tuned)
This commit is contained in:
parent
a11a1b266d
commit
6fe9742348
2 changed files with 9 additions and 5 deletions
|
@ -58,12 +58,13 @@ enum polarisation {
|
|||
|
||||
#define DVB_FEC_ERROR_LIMIT 20
|
||||
|
||||
typedef struct dvb_frontend_parameters dvb_frontend_parameters_t;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
typedef struct dvb_mux_conf {
|
||||
struct dvb_frontend_parameters dmc_fe_params;
|
||||
dvb_frontend_parameters_t dmc_fe_params;
|
||||
int dmc_polarisation;
|
||||
dvb_satconf_t *dmc_satconf;
|
||||
#if DVB_API_VERSION >= 5
|
||||
|
|
|
@ -232,10 +232,9 @@ static struct dtv_properties clear_cmdseq = {
|
|||
*
|
||||
*/
|
||||
static int
|
||||
dvb_fe_tune_s2(th_dvb_mux_instance_t *tdmi, const char *name)
|
||||
dvb_fe_tune_s2(th_dvb_mux_instance_t *tdmi, dvb_mux_conf_t *dmc, const char *name)
|
||||
{
|
||||
th_dvb_adapter_t *tda = tdmi->tdmi_adapter;
|
||||
dvb_mux_conf_t *dmc = &tdmi->tdmi_conf;
|
||||
struct dvb_frontend_parameters *p = &dmc->dmc_fe_params;
|
||||
int r;
|
||||
|
||||
|
@ -293,7 +292,11 @@ void
|
|||
dvb_fe_tune(th_dvb_mux_instance_t *tdmi, const char *reason)
|
||||
{
|
||||
th_dvb_adapter_t *tda = tdmi->tdmi_adapter;
|
||||
struct dvb_frontend_parameters *p = &tdmi->tdmi_conf.dmc_fe_params;
|
||||
|
||||
// copy dmc, cause frequency may be change with FE_QPSK
|
||||
dvb_mux_conf_t dmc = tdmi->tdmi_conf;
|
||||
dvb_frontend_parameters_t* p = &dmc.dmc_fe_params;
|
||||
|
||||
char buf[256];
|
||||
int r;
|
||||
|
||||
|
@ -358,7 +361,7 @@ dvb_fe_tune(th_dvb_mux_instance_t *tdmi, const char *reason)
|
|||
|
||||
#if DVB_API_VERSION >= 5
|
||||
if (tda->tda_type == FE_QPSK)
|
||||
r = dvb_fe_tune_s2(tdmi, buf);
|
||||
r = dvb_fe_tune_s2(tdmi, &dmc, buf);
|
||||
else
|
||||
#endif
|
||||
r = 1; // Make it tune via old API
|
||||
|
|
Loading…
Add table
Reference in a new issue