summaryrefslogtreecommitdiff
path: root/src/lib/player.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-10-22 16:48:45 +0100
committerCarl Hetherington <cth@carlh.net>2013-10-22 16:48:45 +0100
commit0e2c7f060529d93035e89b06d4aa687830a5e0ad (patch)
tree4a4e95373532ed6557d0fabd7c4fd989d9dbc87b /src/lib/player.h
parentdb67e0d5c855127862bb8dd579d41e4a11f84798 (diff)
Hacks.
Diffstat (limited to 'src/lib/player.h')
-rw-r--r--src/lib/player.h21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/lib/player.h b/src/lib/player.h
index 7cce7e723..424a39216 100644
--- a/src/lib/player.h
+++ b/src/lib/player.h
@@ -41,6 +41,16 @@ class Resampler;
/** @class Player
* @brief A class which can `play' a Playlist; emitting its audio and video.
*/
+
+struct IncomingVideo
+{
+public:
+ boost::weak_ptr<Piece> weak_piece;
+ boost::shared_ptr<const Image> image;
+ Eyes eyes;
+ bool same;
+ VideoContent::Frame frame;
+};
class Player : public boost::enable_shared_from_this<Player>, public boost::noncopyable
{
@@ -83,8 +93,9 @@ public:
private:
friend class PlayerWrapper;
+ friend class Piece;
- void process_video (boost::weak_ptr<Piece>, boost::shared_ptr<const Image>, Eyes, bool, VideoContent::Frame);
+ void process_video (boost::weak_ptr<Piece>, boost::shared_ptr<const Image>, Eyes, bool, VideoContent::Frame, Time);
void process_audio (boost::weak_ptr<Piece>, boost::shared_ptr<const AudioBuffers>, AudioContent::Frame);
void process_subtitle (boost::weak_ptr<Piece>, boost::shared_ptr<Image>, dcpomatic::Rect<double>, Time, Time);
void setup_pieces ();
@@ -140,13 +151,7 @@ private:
bool _last_emit_was_black;
- struct {
- boost::weak_ptr<Piece> weak_piece;
- boost::shared_ptr<const Image> image;
- Eyes eyes;
- bool same;
- VideoContent::Frame frame;
- } _last_process_video;
+ IncomingVideo _last_incoming_video;
boost::signals2::scoped_connection _playlist_changed_connection;
boost::signals2::scoped_connection _playlist_content_changed_connection;