<br><br><div><span class="gmail_quote">On 1/15/07, <b class="gmail_sendername">Klaus Schmidinger</b> <<a href="mailto:Klaus.Schmidinger@cadsoft.de">Klaus.Schmidinger@cadsoft.de</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Manu Abraham wrote:<br>> ...<br>> There are 2 different cases<br>><br>> (1) multiple frontends sharing the same TS interface<br>> (2) multiple frontends, each having it's own TS interface.<br>><br>>
<br>> Maybe those should be handled like one multi-protocol frontend?<br>> Not sure if Manu's multi-proto stuff would also handle this across<br>> different tuners. We would need another layer of abstraction.
<br>><br>> Or should just the demuxes lock against each other? So, if one<br>> demux has filters set, the other one will not accept any.<br>> I guess the frontends themselve work at the same time, they
<br>> just share the same TS input?<br>><br>><br>> for (1), they just share the same TS interface which is already<br>> implemented, but when we have a derivative of (2) multiple frontends, we<br>> can have say for example 4 frontends with 2 TS interfaces or 3 TS
<br>> interfaces.<br><br>So I guess for VDR it will be ok to assume that a device with<br>several frontends can only actually use one frontend at a time.<br>Otherwise there would have to be some way of querying the device
<br>how many of the frontends can be used in parallel. But AFAIK there<br>is no such facility in the current DVB driver API, or is there?</blockquote><div><br></div></div>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/
<br> frontend0 --> dvr0/demux0<br> frontend1 --> dvr1/demux1<br> frontend2 --> dvr2/demux2<br><br>in this case the hardware is capable of providing 3 simultaneous streams<br><br>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.
<br><br>Another case is that<br><br>adapter0/<br> frontend0 --> dvr0/demux0<br> frontend1 --> dvr1/demux1<br> frontend2 --> dvr2/demux2<br><br>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)
<br><br>Another case is that<br><br>adapter0/<br> frontend0 --> dvr0/demux0<br> frontend1 --> dvr1/demux1<br> frontend2 --> dvr2/demux2<br><br>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.
<br><br>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.<br><br>Currently, one of the case is handled with the DVB API driver, ie one TS interface with multiple frontends.