class Player;
class PlayerVideo;
-class Log;
class Butler : public ExceptionStore, public boost::noncopyable
{
public:
Butler (
boost::shared_ptr<Player> player,
- boost::shared_ptr<Log> log,
AudioMapping map,
int audio_channels,
boost::function<AVPixelFormat (AVPixelFormat)> pixel_format,
private:
void thread ();
void video (boost::shared_ptr<PlayerVideo> video, DCPTime time);
- void audio (boost::shared_ptr<AudioBuffers> audio, DCPTime time);
+ void audio (boost::shared_ptr<AudioBuffers> audio, DCPTime time, int frame_rate);
void text (PlayerText pt, TextType type, boost::optional<DCPTextTrack> track, DCPTimePeriod period);
bool should_run () const;
- void prepare (boost::weak_ptr<PlayerVideo> video) const;
+ void prepare (boost::weak_ptr<PlayerVideo> video);
void player_change (ChangeType type, bool frequent);
void seek_unlocked (DCPTime position, bool accurate);
boost::shared_ptr<Player> _player;
- boost::shared_ptr<Log> _log;
boost::thread* _thread;
/** mutex to protect _video, _audio and _closed_caption for when we are clearing them and they all need to be