From 3bb447cf8d346f151a56aa7da5360db6da2db570 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Thu, 15 Jan 2015 14:29:18 +0100 Subject: [PATCH] Added a comment to cRecorder::Activate() about the need to call Detach() in the destructor --- CONTRIBUTORS | 2 ++ HISTORY | 2 ++ recorder.h | 10 +++++++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 108ff79d..1031df50 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3277,6 +3277,8 @@ Eike Sauer for reporting a problem with channels that need more than 5 TS packets for detecting frame borders for reporting a problem in handling the frame detection buffer length + for suggesting to add a comment to cRecorder::Activate() about the need to call + Detach() in the destructor Christian Paulick for reporting a problem with frame detection in MPEG-2 streams that have "bottom fields" diff --git a/HISTORY b/HISTORY index fbcd0d0d..5f1cf7e7 100644 --- a/HISTORY +++ b/HISTORY @@ -8379,3 +8379,5 @@ Video Disk Recorder Revision History - Added cOsdProvider::OsdSizeChanged(), which plugins that implement an output device can call to signal a change in the OSD that requires a redraw of the currently displayed object (thanks to Thomas Reufer). +- Added a comment to cRecorder::Activate() about the need to call Detach() in the + destructor (suggested by Eike Sauer). diff --git a/recorder.h b/recorder.h index 05cc42b0..4e7848a6 100644 --- a/recorder.h +++ b/recorder.h @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: recorder.h 2.3 2010/12/27 11:17:04 kls Exp $ + * $Id: recorder.h 3.1 2015/01/15 14:27:02 kls Exp $ */ #ifndef __RECORDER_H @@ -31,12 +31,16 @@ private: bool NextFile(void); protected: virtual void Activate(bool On); + ///< If you override Activate() you need to call Detach() (which is a + ///< member of the cReceiver class) from your own destructor in order + ///< to properly get a call to Activate(false) when your object is + ///< destroyed. virtual void Receive(uchar *Data, int Length); virtual void Action(void); public: cRecorder(const char *FileName, const cChannel *Channel, int Priority); - // Creates a new recorder for the given Channel and - // the given Priority that will record into the file FileName. + ///< Creates a new recorder for the given Channel and + ///< the given Priority that will record into the file FileName. virtual ~cRecorder(); };