On Thu, Oct 29, 2009 at 1:13 AM, Klaus Schmidinger
<klaus.schmidin...@tvdr.de> wrote:
> On 10/28/09 23:15, Petri Helin wrote:
>> Hi,
>>
>> I have an USB DVB-C card (Reddo dvb-c, actually a relabelled Tongshi
>> box), which works very well with the current Linux driver excluding
>> channels with QAM-256 modulation. Would it be easy to check
>> FE_CAN_QAM_256 in vdr before trying to use a device to tune to a
>> particular channel? In such a case I could deactivate FE_CAN_QAM_256 in
>> the drivers. I am using VDR 1.7.9, if it makes a difference.
>
> Checking the frontend capabilities is certainly the right thing to do,
> and I will see that this gets implemented.

This still doesn't resolve a major problem for North Americans.  The
situation is that the 2 biggest dvb-s providers use a modified
modulation, 8psk turbo-fec.  There is only one device that is capable
of tuning this but unfortunately the device has to pretend to be a
dvb-s2 device to do so.  Apparently the v4l guys (from what I was
told) didn't want to allow 8psk turbo-fec in dvb-s because it's a
non-standard modulation.  So the problem becomes that VDR sees a dvb-s
stream and the frontend of say a nexus-s will say its capable of
receiving it, even though that dvb-s stream may contain the 8psk
turbo-fec which a nexus-s can not tune.

I believe the best way to handle this situation is by allowing the
user control over what devices may be used to tune what channels.  VDR
can't be smart enough to figure it out due to incorrect & bad design
in v4l.  Another strong reason to allow this to be configured at the
user-level is what if the the user has 2 devices...both able to tune a
channel but the signal is weak.  Tuner 1 can tune it fine but tuner 2
has problems because of the weak signal.  VDR is simply going to ask a
free tuner 'can you tune this?', whereas the best scenario would be
for the user to say 'use tuner 1 for this channel'.

I can think of two ways to better deal with this; adding a new field
in channels.conf, adding a tuneroverride.conf

By adding a new field.. If the value is "*" then it means any device
may tune it.  If its an integer, then the values listed represent
which devices should be used.  For example:
:*:   use any device
:2,3: use only device 2 or device 3

By using a tuneroverride.conf you can specify which devices to use
with certain channels.  If the channel isn't contained in
tuneroverride.conf then VDR just uses it's own logic to figure it out
(the capability check).  The good thing about this method is you can
create a simple shell script to auto-generate the tuneroverride.conf
file using key indicators in the channels.conf...  The file structure
would be very simple:

<channel #>:<device,device,device,etc>

This is really the only way to satisfy _everyones needs_, by
ultimately allowing the user to control device priorities.  PLEASE
take this into serious consideration as it's been a long standing
problem that's only getting worse with more and more transponders move
to 8psk turbo-fec.

Best regards,
Derek

_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

Reply via email to