Re: [RFC] vtunerc: virtual DVB device - is it ok to NACK driverbecause of worrying about possible misusage?

From: Devin Heitmueller
Date: Sat Dec 03 2011 - 12:48:23 EST


On Sat, Dec 3, 2011 at 12:42 PM, Alan Cox <alan@xxxxxxxxxxxxxxxxxxx> wrote:
> On Sat, 3 Dec 2011 09:21:23 -0800
> VDR User <user.vdr@xxxxxxxxx> wrote:
>
>> On Sat, Dec 3, 2011 at 8:13 AM, Andreas Oberritter <obi@xxxxxxxxxxx> wrote:
>> > You could certainly build a library to reach a different goal. The goal
>> > of vtuner is to access remote tuners with any existing program
>> > implementing the DVB API.
>>
>> So you could finally use VDR as a server/client setup using vtuner,
>> right? With full OSD, timer, etc? Yes, I'm aware that streamdev
>> exists. It was horrible when I tried it last (a long time ago) and I
>> understand it's gotten better. But it's not a suitable replacement for
>> a real server/client setup. It sounds like using vtuner, this would
>> finally be possible and since Klaus has no intention of ever
>> modernizing VDR into server/client (that I'm aware of), it's also the
>> only suitable option as well.
>
> I would expect it to still suck. One of the problems you have with trying
> to pretend things are not networked is that you fake asynchronous events
> synchronously, you can't properly cover error cases and as a result you
> get things like ioctls that hang for two minutes or fail in bogus and
> bizarre ways. If you loop via userspace you've also got to deal with
> deadlocks and all sorts of horrible cornercases like the user space
> daemon dying.
>
> There is a reason properly working client/server code looks different -
> it's not a trivial transformation and faking it kernel side won't be any
> better than faking it in user space - it may well even be a worse fake.
>
> Alan

This whole notion of creating fake kernel devices to represent
networked tuners feels like a hack. If applications want to access
networked tuners, adding support for RTP/RTSP or incorporating
libhdhomerun (LGPL) is a fairly straightforward exercise. In fact,
many applications already have incorporated support for one of these
two approaches. The fact that app maintainers have been
unwilling/uninterested to do such doesn't feel like it should be an
excuse for hacking this functionality into the kernel.

Devin

--
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/