diff options
author | lordjaxom <lordjaxom> | 2005-02-08 13:59:16 +0000 |
---|---|---|
committer | lordjaxom <lordjaxom> | 2005-02-08 13:59:16 +0000 |
commit | 8e4556b0a982dab75d8ba3bb388965ecf47fa0b0 (patch) | |
tree | cda6583f76af5967c634fffe454b003052baf521 /client/filter.c | |
parent | 04a5985dcc0a24a1ff7b8debd5e88d4de46bb989 (diff) | |
download | vdr-plugin-streamdev-8e4556b0a982dab75d8ba3bb388965ecf47fa0b0.tar.gz vdr-plugin-streamdev-8e4556b0a982dab75d8ba3bb388965ecf47fa0b0.tar.bz2 |
- first adoptions (transfer-commit)
Diffstat (limited to 'client/filter.c')
-rw-r--r-- | client/filter.c | 29 |
1 files changed, 3 insertions, 26 deletions
diff --git a/client/filter.c b/client/filter.c index dad86f3..265276f 100644 --- a/client/filter.c +++ b/client/filter.c @@ -1,5 +1,5 @@ /* - * $Id: filter.c,v 1.1 2004/12/30 22:44:04 lordjaxom Exp $ + * $Id: filter.c,v 1.2 2005/02/08 13:59:16 lordjaxom Exp $ */ #include "client/filter.h" @@ -82,32 +82,9 @@ cStreamdevFilter *cStreamdevFilters::Matches(u_short Pid, u_char Tid) { } void cStreamdevFilters::Put(const uchar *Data) { - static time_t firsterr = 0; - static int errcnt = 0; - static bool showerr = true; - int p = m_RingBuffer->Put(Data, TS_SIZE); - if (p != TS_SIZE) { - ++errcnt; - if (showerr) { - if (firsterr == 0) - firsterr = time_ms(); - else if (firsterr + BUFOVERTIME > time_ms() && errcnt > BUFOVERCOUNT) { - esyslog("ERROR: too many buffer overflows, logging stopped"); - showerr = false; - firsterr = time_ms(); - } - } else if (firsterr + BUFOVERTIME < time_ms()) { - showerr = true; - firsterr = 0; - errcnt = 0; - } - - if (showerr) - esyslog("ERROR: ring buffer overflow (%d bytes dropped)", TS_SIZE - p); - else - firsterr = time_ms(); - } + if (p != TS_SIZE) + m_RingBuffer->ReportOverflow(TS_SIZE - p); } void cStreamdevFilters::Action(void) { |