[linux-dvb] [PATCH] Add missing S2 caps flag to S2API

Artem Makhutov artem at makhutov.org
Thu Nov 27 13:35:05 CET 2008


Hi,

On Wed, Nov 26, 2008 at 10:56:05PM +0100, Udo Richter wrote:
> Artem Makhutov wrote:
> > Klaus Schmidinger schrieb:
> >> The attached patch adds a capability flag that allows an application
> >> to determine whether a particular device can handle "second generation
> >> modulation" transponders. 
> > Wouldn't it be better to add something like this:
> > 
> > FE_CAN_8PSK
> > FE_CAN_16APSK
> > FE_CAN_32APSK
> 
> Without knowing enough about the differences between -S and -S2 tuners 
> and whatever cards are on the market, I'll try to step back and give 
> this my 2c point of view:
> 
> What does a DVB app need to know? A DVB app probably just needs to know 
> "What devices are capable of tuning to channel XYZ?". The API could 
> answer this the same way as it would tune to channel XYZ, just without 
> actually doing it. Try-before-you-buy.
> 
> This would also give maximum flexibility to the driver, as a device that 
> supports some -S2 features could offer these, or a device that has known 
> bugs on some tuning modes could also deny these. Non-standard modes 
> could be offered without requiring yet another FE_CAN_XYZ.

If I understand you correct you would like to call an function like:

bool ItWorks = DoFakeTune(a lot of Paramters);

Sure, this would work, but it would make the implementation more
difficult for both the driver and the application.

So in this case the application would have to call DoFakeTune() for a lot of
different modulations, FEC's and so on and interprete the results.

The application must then call

DoFakeTune(DVB-S,FEC_AUTO);
DoFakeTune(DVB-S,FEC_3_4);
DoFakeTune(DVB-S,FEC_2_4);
DoFakeTune(DVB-S,FEC_4_5);
DoFakeTune(DVB-S2,FEC_AUTO);
[...]
DoFakeTune(DVB-T,FEC_XYZ);
DoFakeTune(DVB-T2,FEC_XYZ);

This would not make much fun and this could be achieved much easier using some kind of capability flags.

Regards, Artem



More information about the linux-dvb mailing list