Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] [RFC] DVB v4 API suggestions.



Hi!

I've sent this to Michael, but never got a reply (that's happened before), is 
it just insane?

What really annoys me is that when I want to do a simple demuxing task, such 
as harvesting all the PMT's, I have to set up a chain of fd's and do rotating 
and stuff, to avoid the demux fd limit. I have not checked wether it is 
possible to do a section filter on multiple pids in the new api, but it would 
be a feature I would like if not.

I would also have done something like this:

struct dvb_dvb_s_parameters {
        uint32_t               symbol_rate;
        enum dvb_fe_code_rate  fec_inner;
        dvb_sec_voltage voltage;
        dvb_sec_tone_mode tone_mode;
        dvb_sec_tone_burst;
};

struct dvb_frontend_parameters {
#define DVB_FE_FLAG_SET_ALL ...
#define DVB_FE_FLAG_SET_FREQUENCY ...
                                         _SET_.....
#define DVB_FE_FLAG_DVBS_SEND_TONE_BURST
#define DVB_FE_FLAG_DVBS_HIGH_LNB_VOLTAGE
#define DVB_FE_FLAG_DVBS_RESET_DISEQC_OVERLOAD
        uint32_t flags;
        uint32_t frequency;
        enum dvb_fe_spectral_inversion inversion;

        union {
                struct dvb_dvb_s_parameters dvb_s;
                struct dvb_dvb_c_parameters dvb_c;
                struct dvb_dvb_t_parameters dvb_t;
        } u;
};

Which would get rid of four ioctls. I belive this would clean up the interface 
a lot, and also, since most of the userspace frontend code is in one 
location, it would clean this up too. Would also allow userspace to only 
change one parameter of the frontend, and allow for special flags like 
disable zigzag, which would help with applications trying to autodetect what 
equipment is on a dvb-s frontend (I'm working on a app that does this..). The 
diseqc send/receive would still be separate, as those really act more like a 
bus interface.

Kenneth




Home | Main Index | Thread Index