Tests pass again.
[dcpomatic.git] / src / lib / processor.h
1 #ifndef DVDOMATIC_PROCESSOR_H
2 #define DVDOMATIC_PROCESSOR_H
3
4 #include "video_source.h"
5 #include "video_sink.h"
6 #include "audio_source.h"
7 #include "audio_sink.h"
8
9 class Log;
10
11 class Processor
12 {
13 public:
14         Processor (Log* log)
15                 : _log (log)
16         {}
17         
18         virtual void process_begin () {}
19         virtual void process_end () {}
20
21 protected:
22         Log* _log;
23 };
24
25 class AudioVideoProcessor : public Processor, public VideoSource, public VideoSink, public AudioSource, public AudioSink
26 {
27 public:
28         AudioVideoProcessor (Log* log)
29                 : Processor (log)
30         {}
31 };
32
33 class AudioProcessor : public Processor, public AudioSource, public AudioSink
34 {
35 public:
36         AudioProcessor (Log* log)
37                 : Processor (log)
38         {}
39 };
40
41 class VideoProcessor : public Processor, public VideoSource, public VideoSink
42 {
43 public:
44         VideoProcessor (Log* log)
45                 : Processor (log)
46         {}
47 };
48
49 #endif