XML metadata and some other bits.
[dcpomatic.git] / src / lib / processor.h
index cddcbf3f10fe47a466342fbb756e7a62b7758e38..1ba396f2f5decc945e339ba0a633ff4751bf3ef9 100644 (file)
@@ -37,15 +37,20 @@ class Log;
 class Processor
 {
 public:
-       Processor (Log* log)
+       /** Construct a Processor.
+        *  @param log Log to use.
+        */
+       Processor (boost::shared_ptr<Log> log)
                : _log (log)
        {}
-       
-       virtual void process_begin () {}
+
+       virtual ~Processor() {}
+
+       /** Will be called at the end of a processing run */
        virtual void process_end () {}
 
 protected:
-       Log* _log;
+       boost::shared_ptr<Log> _log; ///< log to write to
 };
 
 /** @class AudioVideoProcessor
@@ -54,7 +59,10 @@ protected:
 class AudioVideoProcessor : public Processor, public VideoSource, public VideoSink, public AudioSource, public AudioSink
 {
 public:
-       AudioVideoProcessor (Log* log)
+       /** Construct an AudioVideoProcessor.
+        *  @param log Log to write to.
+        */
+       AudioVideoProcessor (boost::shared_ptr<Log> log)
                : Processor (log)
        {}
 };
@@ -65,7 +73,10 @@ public:
 class AudioProcessor : public Processor, public AudioSource, public AudioSink
 {
 public:
-       AudioProcessor (Log* log)
+       /** Construct an AudioProcessor.
+        *  @param log Log to write to.
+        */
+       AudioProcessor (boost::shared_ptr<Log> log)
                : Processor (log)
        {}
 };
@@ -76,7 +87,10 @@ public:
 class VideoProcessor : public Processor, public VideoSource, public VideoSink
 {
 public:
-       VideoProcessor (Log* log)
+       /** Construct an VideoProcessor.
+        *  @param log Log to write to.
+        */
+       VideoProcessor (boost::shared_ptr<Log> log)
                : Processor (log)
        {}
 };