- 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 ();
+
+ void disable_audio ();
+
+ std::pair<size_t, std::string> memory_used () const;