/*
- Copyright (C) 2016-2017 Carl Hetherington <cth@carlh.net>
+ Copyright (C) 2016-2021 Carl Hetherington <cth@carlh.net>
This file is part of DCP-o-matic.
*/
-#include "video_ring_buffers.h"
-#include "audio_ring_buffers.h"
-#include "text_ring_buffers.h"
+
#include "audio_mapping.h"
+#include "audio_ring_buffers.h"
+#include "change_signaller.h"
#include "exception_store.h"
+#include "text_ring_buffers.h"
+#include "video_ring_buffers.h"
+#include <boost/asio.hpp>
+#include <boost/signals2.hpp>
#include <boost/thread.hpp>
#include <boost/thread/condition.hpp>
-#include <boost/signals2.hpp>
-#include <boost/asio.hpp>
+
class Player;
class PlayerVideo;
-class Butler : public ExceptionStore, public boost::noncopyable
+
+class Butler : public ExceptionStore
{
public:
Butler (
std::shared_ptr<Player> player,
AudioMapping map,
int audio_channels,
- boost::function<AVPixelFormat (AVPixelFormat)> pixel_format,
+ std::function<AVPixelFormat (AVPixelFormat)> pixel_format,
VideoRange video_range,
bool aligned,
bool fast
~Butler ();
+ Butler (Butler const&) = delete;
+ Butler& operator= (Butler const&) = delete;
+
void seek (dcpomatic::DCPTime position, bool accurate);
class Error {
bool _disable_audio;
- boost::function<AVPixelFormat (AVPixelFormat)> _pixel_format;
+ std::function<AVPixelFormat (AVPixelFormat)> _pixel_format;
VideoRange _video_range;
bool _aligned;
bool _fast;