class VideoContent;
class ImageProxy;
class Image;
+class Log;
/** @class VideoDecoder
* @brief Parent for classes which decode video.
class VideoDecoder : public virtual Decoder
{
public:
- VideoDecoder (boost::shared_ptr<const VideoContent> c);
+ VideoDecoder (boost::shared_ptr<const VideoContent> c, boost::shared_ptr<Log> log);
std::list<ContentVideo> get_video (Frame frame, bool accurate);
void fill_both_eyes (Frame from, Frame to, Eyes);
boost::shared_ptr<const VideoContent> _video_content;
+ boost::shared_ptr<Log> _log;
std::list<ContentVideo> _decoded_video;
boost::shared_ptr<Image> _black_image;
boost::optional<ContentTime> _last_seek_time;
bool _last_seek_accurate;
-
/** true if this decoder should ignore all video; i.e. never produce any */
bool _ignore_video;
+ /** if set, this is a frame for which we got no data because the Decoder said
+ * it has no more to give.
+ */
+ boost::optional<Frame> _no_data_frame;
};
#endif