[linux-dvb] How to handle multiple frontends?

Manu Abraham abraham.manu at gmail.com
Mon Jan 15 18:47:52 CET 2007


On 1/15/07, Klaus Schmidinger <Klaus.Schmidinger at cadsoft.de> wrote:
>
> Manu Abraham wrote:
> > ...
> > There are 2 different cases
> >
> > (1) multiple frontends sharing the same TS interface
> > (2) multiple frontends, each having it's own TS interface.
> >
> >
> >     Maybe those should be handled like one multi-protocol frontend?
> >     Not sure if Manu's multi-proto stuff would also handle this across
> >     different tuners. We would need another layer of abstraction.
> >
> >     Or should just the demuxes lock against each other? So, if one
> >     demux has filters set, the other one will not accept any.
> >     I guess the frontends themselve work at the same time, they
> >     just share the same TS input?
> >
> >
> > for (1), they just share the same TS interface which is already
> > implemented, but when we have a derivative of (2) multiple frontends, we
> > can have say for example 4 frontends with 2 TS interfaces or 3 TS
> > interfaces.
>
> So I guess for VDR it will be ok to assume that a device with
> several frontends can only actually use one frontend at a time.
> Otherwise there would have to be some way of querying the device
> how many of the frontends can be used in parallel. But AFAIK there
> is no such facility in the current DVB driver API, or is there?


If we have a 1:1 mapping, ie the the number of TS interfaces is the same as
the number of frontend devices, it could be a simple map of adapter0/
    frontend0 --> dvr0/demux0
    frontend1 --> dvr1/demux1
    frontend2 --> dvr2/demux2

in this case the hardware is capable of providing 3 simultaneous streams

This could be made quite simple ie, the user application just needs to find
how many devices that are present on the adpater, this abstraction  is one
that i was mentioning with the adapter object.

Another case is that

adapter0/
     frontend0 --> dvr0/demux0
     frontend1 --> dvr1/demux1
     frontend2 --> dvr2/demux2

in this case the hardware has just one TS interface, ie can provide only one
stream, eventhough there are 3 frontends (A similar implementation exists
currently)

Another case is that

adapter0/
     frontend0 --> dvr0/demux0
     frontend1 --> dvr1/demux1
     frontend2 --> dvr2/demux2

in this case the hardware has 2 TS interfaces, with 3 frontends. In this
case, there needs to be control over who gets controls of the TS interface.

In this case not only you will need a hardware abstraction, but also a way
to control the same. this was why i was thinking in the lines of the adapter
object.

Currently, one of the case is handled with the DVB API driver, ie one TS
interface with multiple frontends.

Regards,
Manu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.linuxtv.org/pipermail/linux-dvb/attachments/20070115/80d144e4/attachment.htm


More information about the linux-dvb mailing list