summaryrefslogtreecommitdiff
path: root/src/lib/player.h
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2014-01-01 20:08:31 +0000
committerCarl Hetherington <cth@carlh.net>2014-01-01 20:08:31 +0000
commit30e45dd697afc053f2d7be4ee2bc154e5061ad80 (patch)
treed8fd278f274098c327be2fd90dff0db5ab72ef61 /src/lib/player.h
parent2eb98168b80792ba21fe31423d50bd28c4f17837 (diff)
Untested basic stats for player.
Diffstat (limited to 'src/lib/player.h')
-rw-r--r--src/lib/player.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/lib/player.h b/src/lib/player.h
index b932f4168..897c6116b 100644
--- a/src/lib/player.h
+++ b/src/lib/player.h
@@ -60,6 +60,38 @@ private:
boost::shared_ptr<const Image> _subtitle_image;
Position<int> _subtitle_position;
};
+
+class PlayerStatistics
+{
+public:
+ struct Video {
+ Video ()
+ : black (0)
+ , repeat (0)
+ , good (0)
+ , skip (0)
+ {}
+
+ int black;
+ int repeat;
+ int good;
+ int skip;
+ } video;
+
+ struct Audio {
+ Audio ()
+ : silence (0)
+ , good (0)
+ , skip (0)
+ {}
+
+ int64_t silence;
+ int64_t good;
+ int64_t skip;
+ } audio;
+
+ void dump (boost::shared_ptr<Log>) const;
+};
/** @class Player
* @brief A class which can `play' a Playlist; emitting its audio and video.
@@ -85,6 +117,8 @@ public:
bool repeat_last_video ();
+ PlayerStatistics const & statistics () const;
+
/** Emitted when a video frame is ready.
* First parameter is the video image.
* Second parameter is the eye(s) that should see this image.
@@ -168,6 +202,8 @@ private:
bool _just_did_inaccurate_seek;
bool _approximate_size;
+ PlayerStatistics _statistics;
+
boost::signals2::scoped_connection _playlist_changed_connection;
boost::signals2::scoped_connection _playlist_content_changed_connection;
boost::signals2::scoped_connection _film_changed_connection;