Andreas Vitting wrote: > > Additional comment: > your patch does not work for me (for the dmxdev.c). After 6 times the error > is logged again. If you stop and start w/o any time, the error appears > immediately. Just tried it again: I have killed and restarted VDR 11 (eleven) times, and not _once_ had that error. Are you sure you are actually using the patched driver? Klaus > > -----Urspr�ngliche Nachricht----- > Von: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]]Im Auftrag von Andreas Vitting > Gesendet: Sonntag, 12. August 2001 21:54 > An: Klaus Schmidinger > Cc: Linux-Dvb > Betreff: [linux-dvb] AW: Re: Problems after reloading vdr > > One further statement to this failure. If you waiting one-two seconds after > ending the vdr, all filters are freed from the dvb driver!! > > -----Urspr�ngliche Nachricht----- > Von: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]]Im Auftrag von Klaus Schmidinger > Gesendet: Sonntag, 12. August 2001 13:58 > An: dvb > Betreff: [linux-dvb] Re: Problems after reloading vdr > > Klaus Schmidinger wrote: > > > > Peter Seyringer wrote: > > > > > > Hello! > > > > > > I have a problem with the channel switching after reloading vdr. > > > If i have played a recorded scene and exit vdr with Strg-C and reload it > again and i can switch the channel but there are troubles with the picture > or sound. On some channels i get a picture but no sound on other i get the > sound of the last channel but no picture or i get the right picture but a > sound of an other channel. > > > After reloading the driver there is no problem. I think there is a bug > in the demux (?) lib and it is the same problem with the CAM after replay. > > > > > > My system is a fresh installation of the latest dvb driver and vdr > software, kernel version is 2.4.7 and my DVB-s Card is the new one. > > > > I also have observed this problem several times lately. > > Must be something they have changed in recent driver versions. > > > > Klaus > > I believe I found what's causing this. Apparently the filters were not all > released when an application ended, so after a few restarts all the 32 > filters > were used up. > > Here's what I did in DVB/driver/dmxdev.c to cure this (don't know if this > really is a "fix" or just a "workaround" - maybe the driver developers can > say more about this). > > --- dmxdev.c.001 Fri Aug 10 08:28:24 2001 > +++ dmxdev.c Sun Aug 12 13:36:48 2001 > @@ -394,7 +394,14 @@ > /* We used to return EINVAL here but resetting a free filter > should be valid too. But since in this case there is nothing > to do, just return */ > - if (dmxdevfilter->state<=DMXDEV_STATE_ALLOCATED) > + /* Only return if the state is actually DMXDEV_STATE_FREE, > + otherwise filters are not properly released when the > + files are closed (i.e. when an application ends) and > + after a few restarts of an application all the 32 filters > + are used up. Maybe the check here should actually be > + 'if (dmxdevfilter->state==DMXDEV_STATE_FREE)'? > + kls 2001-08-12 *///XXX > + if (dmxdevfilter->state<DMXDEV_STATE_ALLOCATED) > return 0; > > switch (dmxdevfilter->type) { > @@ -433,7 +440,11 @@ > dmxdevfilter->feed.ts=0; > break; > default: > - return -EINVAL; > + /* due to the above change it can happen that filters with > type==0 > + get through here, which shouldn't be considered an error. > + kls 2001-08-12 *///XXX > + if (dmxdevfilter->type != 0) > + return -EINVAL; > } > dmxdevfilter->buffer.pwrite=dmxdevfilter->buffer.pread=0; > return 0; -- _______________________________________________________________ Klaus Schmidinger Phone: +49-8635-6989-10 CadSoft Computer GmbH Fax: +49-8635-6989-40 Hofmark 2 Email: [EMAIL PROTECTED] D-84568 Pleiskirchen, Germany URL: www.cadsoft.de _______________________________________________________________ -- Info: To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as subject.
