<br><br><div><span class="gmail_quote">On 1/15/07, <b class="gmail_sendername">Klaus Schmidinger</b> &lt;<a href="mailto:Klaus.Schmidinger@cadsoft.de">Klaus.Schmidinger@cadsoft.de</a>&gt; 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>&gt; ...<br>&gt; There are 2 different cases<br>&gt;<br>&gt; (1) multiple frontends sharing the same TS interface<br>&gt; (2) multiple frontends, each having it&#39;s own TS interface.<br>&gt;<br>&gt;
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Maybe those should be handled like one multi-protocol frontend?<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Not sure if Manu&#39;s multi-proto stuff would also handle this across<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; different tuners. We would need another layer of abstraction.
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Or should just the demuxes lock against each other? So, if one<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; demux has filters set, the other one will not accept any.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; I guess the frontends themselve work at the same time, they
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; just share the same TS input?<br>&gt;<br>&gt;<br>&gt; for (1), they just share the same TS interface which is already<br>&gt; implemented, but when we have a derivative of (2) multiple frontends, we<br>&gt; can have say for example 4 frontends with 2 TS interfaces or 3 TS
<br>&gt; 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>&nbsp;&nbsp;&nbsp; frontend0 --&gt; dvr0/demux0<br>&nbsp;&nbsp;&nbsp; frontend1 --&gt; dvr1/demux1<br>&nbsp;&nbsp;&nbsp; frontend2 --&gt; 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&nbsp; is one that i was mentioning with the adapter object.
<br><br>Another case is that<br><br>adapter0/<br>&nbsp;&nbsp;&nbsp;&nbsp; frontend0 --&gt; dvr0/demux0<br>&nbsp;&nbsp;&nbsp;&nbsp; frontend1 --&gt; dvr1/demux1<br>&nbsp;&nbsp;&nbsp;&nbsp; frontend2 --&gt; 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>&nbsp;&nbsp;&nbsp;&nbsp; frontend0 --&gt; dvr0/demux0<br>&nbsp;&nbsp;&nbsp;&nbsp; frontend1 --&gt; dvr1/demux1<br>&nbsp;&nbsp;&nbsp;&nbsp; frontend2 --&gt; 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.
<br><br>Regards,<br>Manu<br><br><br>