[PATCH] R: R: [vdr] VDR & Multiple frontends

Eddi eddi at depieri.net
Thu Feb 8 01:22:18 CET 2007


The patch is ready and available as attachment to this mail and at 

http://tux.dpeddi.com/lr319sta/downloads/vdr_1.4.5_eddi-multiple-frontend.pa
tch

Card detection should work in all environment, and the patch should be
transparent in environment with adapters that have a single tuner or adapter
that provide a bus for each tuner. In this case the frontend appear as a VDR
device.

At the moment, sometime channel change works and sometime fails, I suppose
is due to the time thread needs to close.

Can someone do a regression test with my patch applied?

I need help to solve this? I have to use valgring?

Best Regards,

Eddi



> -----Messaggio originale-----
> Da: vdr-bounces at linuxtv.org [mailto:vdr-bounces at linuxtv.org] Per conto di
> Eddi
> Inviato: giovedì 8 febbraio 2007 0.34
> A: 'VDR Mailing List'
> Oggetto: R: R: [vdr] VDR & Multiple frontends
> 
> 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 at linuxtv.org [mailto:vdr-bounces at linuxtv.org] Per conto
> di
> > Klaus Schmidinger
> > Inviato: domenica 10 dicembre 2006 11.14
> > A: vdr at 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 at linuxtv.org
> > http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
> 
> 
> _______________________________________________
> vdr mailing list
> vdr at linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vdr_1.4.5_eddi-multiple-frontend.patch
Type: application/octet-stream
Size: 12993 bytes
Desc: not available
Url : http://www.linuxtv.org/pipermail/vdr/attachments/20070208/8c671a85/vdr_1.4.5_eddi-multiple-frontend.obj


More information about the vdr mailing list