class Butler : public ExceptionStore
{
public:
+ enum class Audio
+ {
+ ENABLED,
+ DISABLED
+ };
+
Butler (
std::weak_ptr<const Film> film,
std::shared_ptr<Player> player,
VideoRange video_range,
Image::Alignment alignment,
bool fast,
- bool prepare_only_proxy
+ bool prepare_only_proxy,
+ Audio audio
);
~Butler ();
std::string summary () const;
};
- std::pair<std::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 ();
+ enum class Behaviour {
+ BLOCKING,
+ NON_BLOCKING
+ };
- void disable_audio ();
+ std::pair<std::shared_ptr<PlayerVideo>, dcpomatic::DCPTime> get_video (Behaviour behaviour, Error* e = nullptr);
+ boost::optional<dcpomatic::DCPTime> get_audio (Behaviour behaviour, float* out, Frame frames);
+ boost::optional<TextRingBuffers::Data> get_closed_caption ();
std::pair<size_t, std::string> memory_used () const;