[linux-dvb] networked digital tuner project

Brian Kuschak bkuschak at yahoo.com
Mon Jun 13 20:03:02 CEST 2005


> So what happens when a client crashes or the
> connection between the client
> and the device is lost? ;-) Ok, your semaphore might
> expire, but the tuner
> may be left in an undefined state...

When a new client acquires control of the tuner, the
first step is to initialize it, and tune to the new RF
channel.  As such it doesn't matter what state it was
left in.

> And how is one client supposed to know what state a
> tuner is in anyway,
> when the device doesn't know itself...? Or are
> clients supposed to send out
> broadcast messages before/after reconfiguring a
> tuner so that the other
> clients know about the change as well? What if a
> client is started after a
> tuner configuration, is it supposed to send a
> broadcast message asking the
> other clients what the current tuner configuration
> is?

Your point about monitoring the other client's control
messages is valid.  We probably don't want or need to
do this.
> 1) Design a _proper_ network tuner device which
> fully
> encapsulates/abstracts the actual hardware, and
> handles access control, and
> spend the time it takes to develop that.

What kind of interface would you like to see? 
Something like the API provided by the linux-dvb, only
available over ethernet instead of an ioctl?

> 2) Design a "quick&dirty" network tuner device and
> spend just as much time
> implementing all kinds of workarounds (aka "hacks")
> in your client software
> to make it _somewhat_ work, but never quite as
> reliable as choice 1) would
> allow you.

Setting aside the issue of mutual exclusion between
multiple clients contending for a given tuner, there
is still value and utility in having (multiple)
networked tuners with a simple API.  Several of the
applications that I had in mind (multichannel
enhanced-PVR, lookahead channel tuning, multiple-PIP,
expanability) do not strictly require these access
control methods. 

I'd like to see development happen in two stages.  The
first would be a simple device with FPGA only.  This
would provide a significant amount of functionality
with a reasonably short developement cycle.  A second
stage could be the integration of a full CPU/OS and
fully abstracted tuner API.  Much, if not all, of the
FPGA code developed for the first phase is directly
applicable to the second, so the effort isn't wasted.

> Why do you think you will not be able to embed the
> frontend drivers from
> the LinuxTV project into your network tuner device's
> firmware...?

I never said that.  Of course this is possible. 
Running linux on one of the many ARM-based SoC out
there would allow you to provide not just the tuner
API, but also IP-decapsulation, http configuration
pages, and other things.  But at that point you're
designing a full media receiver, which is a larger
scope than what I had in mind originally.


Discover Yahoo! 
Have fun online with music videos, cool games, IM and more. Check it out! 

More information about the linux-dvb mailing list