/** @class Player
* @brief A class which can play a Playlist.
*/
-class Player : public std::enable_shared_from_this<Player>, public boost::noncopyable
+class Player : public std::enable_shared_from_this<Player>
{
public:
Player (std::shared_ptr<const Film>);
Player (std::shared_ptr<const Film>, std::shared_ptr<const Playlist> playlist);
~Player ();
+ Player (Player const& Player) = delete;
+ Player& operator= (Player const& Player) = delete;
+
bool pass ();
void seek (dcpomatic::DCPTime time, bool accurate);
/** Emitted when a video frame is ready. These emissions happen in the correct order. */
boost::signals2::signal<void (std::shared_ptr<PlayerVideo>, dcpomatic::DCPTime)> Video;
+ /** Emitted when audio data is ready. First parameter is the audio data, second its time,
+ * third the frame rate.
+ */
boost::signals2::signal<void (std::shared_ptr<AudioBuffers>, dcpomatic::DCPTime, int)> Audio;
/** Emitted when a text is ready. This signal may be emitted considerably
* after the corresponding Video.
friend struct empty_test1;
friend struct empty_test2;
friend struct check_reuse_old_data_test;
+ friend struct overlap_video_test1;
void construct ();
void setup_pieces ();