Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] AW: Re: Problems after reloading vdr
- To: "Klaus Schmidinger" <Klaus.Schmidinger@cadsoft.de>
- Subject: [linux-dvb] AW: Re: Problems after reloading vdr
- From: "Andreas Vitting" <Andreas@huji.de>
- Date: Sun, 12 Aug 2001 21:54:02 +0200
- Cc: "Linux-Dvb" <linux-dvb@linuxtv.org>
- Content-Transfer-Encoding: quoted-printable
- Content-Type: text/plain;charset="iso-8859-1"
- Delivered-To: mhonarc@limes.convergence.de
- Importance: Normal
- In-Reply-To: <3B766F3A.41A61D72@cadsoft.de>
- Sender: linux-dvb-bounce@linuxtv.org
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: linux-dvb-bounce@linuxtv.org
[mailto:linux-dvb-bounce@linuxtv.org]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: kls@cadsoft.de
D-84568 Pleiskirchen, Germany URL: www.cadsoft.de
_______________________________________________________________
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe
linux-dvb" as subject.
--
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe linux-dvb" as subject.
Home |
Main Index |
Thread Index