From da0030deff4b0086edbd25d784fc0fe309cd4256 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 7 Aug 2005 10:29:36 +0200 Subject: Added cRemux::SetTimeouts() for better use of cRemux in a single thread --- CONTRIBUTORS | 1 + HISTORY | 2 ++ remux.h | 8 +++++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 53bba95e..82e4ffe3 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1249,6 +1249,7 @@ Udo Richter several non selectable items in a row for fixing handling 'page down' after it was broken in version 1.3.26 for suggesting a fix for an out-of-bounds memory access with audio language ids + for reporting a problem with cRemux in a single thread Sven Kreiensen for his help in keeping 'channels.conf.terr' up to date diff --git a/HISTORY b/HISTORY index d4619f0c..3f5e4a16 100644 --- a/HISTORY +++ b/HISTORY @@ -3661,3 +3661,5 @@ Video Disk Recorder Revision History Matthias Lenk for reporting, and Udo Richter for suggesting a fix). - Updated the Finnish OSD texts (thanks to Rolf Ahrenberg). - Added missing storing of the MenuScrollPage parameter (thanks to Frank Krömmelbein). +- Added cRemux::SetTimeouts() for better use of cRemux in a single thread (thanks + to Udo Richter for reporting a problem with this). diff --git a/remux.h b/remux.h index fef5980e..0cd570e0 100644 --- a/remux.h +++ b/remux.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: remux.h 1.13 2005/01/16 13:15:17 kls Exp $ + * $Id: remux.h 1.14 2005/08/07 10:28:07 kls Exp $ */ #ifndef __REMUX_H @@ -47,6 +47,12 @@ public: ///< PID). If ExitOnFailure is true, the remuxer will initiate an "emergency ///< exit" in case of problems with the data stream. ~cRemux(); + void SetTimeouts(int PutTimeout, int GetTimeout) { resultBuffer->SetTimeouts(PutTimeout, GetTimeout); } + ///< By default cRemux assumes that Put() and Get() are called from different + ///< threads, and uses a timeout in the Get() function in case there is no + ///< data available. SetTimeouts() can be used to modify these timeouts. + ///< Especially if Put() and Get() are called from the same thread, setting + ///< both timeouts to 0 is recommended. int Put(const uchar *Data, int Count); ///< Puts at most Count bytes of Data into the remuxer. ///< \return Returns the number of bytes actually consumed from Data. -- cgit v1.2.3