- void seek (DCPTime position, bool accurate);
- std::pair<boost::shared_ptr<PlayerVideo>, DCPTime> get_video ();
- void get_audio (float* out, Frame frames);
+ void seek (dcpomatic::DCPTime position, bool accurate);
+
+ enum Error {
+ NONE,
+ AGAIN
+ };
+
+ std::pair<boost::shared_ptr<PlayerVideo>, dcpomatic::DCPTime> get_video (bool blocking, Error* e = 0);
+ boost::optional<dcpomatic::DCPTime> get_audio (float* out, Frame frames);
+ boost::optional<TextRingBuffers::Data> get_closed_caption ();