a93bd39d41e623bee5d388cbef05475f1b1cc1d1
[dcpomatic.git] / src / lib / video_source.h
1 #ifndef DVDOMATIC_VIDEO_SOURCE_H
2 #define DVDOMATIC_VIDEO_SOURCE_H
3
4 #include <boost/shared_ptr.hpp>
5 #include <boost/signals2.hpp>
6 #include "util.h"
7
8 class VideoSink;
9 class Subtitle;
10 class Image;
11
12 class VideoSource
13 {
14 public:
15
16         /** Emitted when a video frame is ready.
17          *  First parameter is the frame within the source.
18          *  Second parameter is either 0 or a subtitle that should be on this frame.
19          */
20         boost::signals2::signal<void (boost::shared_ptr<Image>, boost::shared_ptr<Subtitle>)> Video;
21
22         void connect_video (boost::shared_ptr<VideoSink>);
23 };
24
25 #endif