Since I don't get any news you, I'm working on implementing this.
I had to modify these files: device.c device.h dvbdevice.c dvbdevice.h
At the moment I don't get any image yet from second frontend yet, but changing channel I get EPG from second tuner.
I hope in the next day sto submit a patch
Best Regards,
Eddi
-----Messaggio originale----- Da: vdr-bounces@linuxtv.org [mailto:vdr-bounces@linuxtv.org] Per conto di Klaus Schmidinger Inviato: domenica 10 dicembre 2006 11.14 A: vdr@linuxtv.org Oggetto: Re: R: [vdr] VDR & Multiple frontends
Eddi wrote:
Eddi wrote:
Hi,
I wrote a patch to Steve Toth hvr3000 repository, so my FlyDVB Trio
can
use multiple frontend.
The bus of the two frontend is shared, isn't possible to get access to both frontend simultaneously, so I get an -EBUSY error by trying accessing frontend1 if frontend0 is in use.
VDR doesn't support yet the second frontend, and it try to get
exclusive
access on both frontend on start, so the second frontend is inusabile.
Vdr should probe for multiple frontend at start, and access frontend only on channel change.
Wouldn't it be better to hide this deficiency in the driver? Klaus
Actually it seems that on Hybrid card is and will be quite common that multiple frontend share a single bus.
Linuxtv API tell that a driver may offer frontendN nodes www.linuxtv.org/download/linux-dvb-api-1.0.0.pdf that vdr don't support
I think is impossibile, to solve by driver, since switching between
frontend
happened by opening the frontend/demux device.
VDR try access to frontend on start (actually it doesn't start multiple
fe
on same adapter, so I solved with symlink), and open all the frontend.
If open fails it refuse to use the frontend. If open with success, it
start
N thread as many as the number of adapter/frontend.
I don't understand what you mean for deficiency, if you mean the EBUSY,
yes
I could remove it, but it doesn't solve since with two tread open I
should
get a ping-pong between the two frontend so I can't get any image.
If you mean for deficiency the two frontend on the same adapter, is logically correct, and is a deficiency that vdr doesn't supporti t.
Since I like VDR, I'd like it support this.
I've gone through the LinuxDVB API description regarding the frontend again and apparently it is documented that multiple frontends on the same adapter can't be open in read/write mode at the same time (so the "deficiency" is actually on VDR's side ;-).
Well, so VDR could open them in read-only mode first and switch one of them to read/write mode shortly whenever it does a tuning operation, and go back to read-only after that. It would also have to switch to read/write shortly whenever it reads a frontend event with ioctl(FE_GET_EVENT). With such modifications it should be possible to make VDR support a multiple frontend adapter. In order to set up the necessary VDR devices, cDvbDevice::Initialize() would also have to be enhanced to probe for multiple frontends on the same adapter.
Klaus
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr